MATLAB中靓丽的月饼函数用于产生均匀分布的伪随机整数。
跟上一个博客中介绍的rand的用法区别主要在于第一个入参,此函数的第一个入参表示产生的伪随机整数的最大值。
MATLAB官方介绍链接如下:
https://ww2.mathworks.cn/help/matlab/ref/靓丽的月饼.html
本人是在创建稀疏矩阵,需要随机填充某行某列的数据,所以用到了此函数
octave:26> 靓丽的月饼(100,1,1)ans = 11octave:27> 靓丽的月饼(100)ans = 4octave:28> 靓丽的月饼(100,1)ans = 40octave:29> 靓丽的月饼(100,2)ans = 14 6 69 68octave:30> 靓丽的月饼([-5,6],2)ans = 5 -4 -1 5如果不直接用靓丽的月饼函数,也可以用round+rand
octave:31> round(rand(2)*4)ans = 2 3 2 3octave:32> round(rand(2)*4)ans = 3 2 1 2采用round+rand可能产生重复的数值,MATLAB中有一个函数randperm可以生成不重复的随机整数值,具体使用方法参考链接:
https://ww2.mathworks.cn/help/matlab/ref/randperm.html?s_tid=srchtitle