rand,randn,randi函数区别
1,rand 生成均匀分布的伪随机数。分布在(0~1)之间
主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数
rand(m,n,'double')生成指定精度的均匀分布的伪随机数,参数还可以是'single'
rand(RandStream,m,n)利用指定的RandStream(我理解为随机种子)生成伪随机数
2,randn 生成标准正态分布的伪随机数(均值为0,方差为1)
主要语法:和上面一样
3, randi 生成均匀分布的伪随机整数
主要语法:randi(iMax)在开区间(0,iMax)生成均匀分布的伪随机整数
randi(iMax,m,n)在闭区间[1,iMax]生成mXn型随机矩阵
r = randi([iMin,iMax],m,n)在闭区间[iMin,iMax]生成mXn型随机矩阵
补充:
rand(n):生成0到1之间的n阶随机数方阵
rand(m,n):生成0到1之间的m×n的随机数矩阵
randint
randint(m,n,[1 N]):生成m×n的在1到N之间的随机整数矩阵,其效果与randint(m,n,N+1)相同。
randperm(n):产生一个1到n的随机顺序。
>> randint(3,4,[1 10])
ans =
5 7 4 10
5 1 2 7
8 7 8 6
>> randint(3,4,11)
ans =
10 9 6 9
5 10 8 9
10 0 2 6
randperm
>> randperm(10)
ans =
6 4 8 9 3 5 7 10 2 1