应用场景:首先说明下自己的应用场景,在图像处理算法中,需要产生0~255随机不重复的整数,来制作一个LUT(查找表)。在网上找了很多,有C++等各种洗牌算法。但还是觉得matlab的randperm更直接。
代码:
1.在matlab的command window窗口输入m=randperm(256,256)-1。其中第一个参数表示生成的随机数组区间[1,256],第二个参数表示生成的随机数组个数。这里我-1就会生成0~255的随机数组啦!
2.在matlab的workspace窗口双击刚才生成的数组m,在Variables窗口出现,选中第一行,复制,粘贴到Gvim中。
此时会发现数组每个数之间有空格,在gvim命令模式下输入%s/\s+/,/g将空格全部替换成逗号。
总结:这样看起来操作很麻烦,但对于初学者来说逻辑简单,好理解。其实可以直接在matlab写个function,生成随机数组后,再按照要求循环输出到文件中。后续自己会实验。
生成随机不重复数组(matlab的randperm)
最新推荐文章于 2024-09-11 23:56:24 发布