rand作用:产生(0,1)之间均匀分布的随机数和矩阵。主要由输入的参数决定。
randn作用:生成标准正态分布的伪随机数(均值为0,方差为1).语法和rand一样
语法 | 作用 |
---|---|
x=rand | 返回区间(0,1)内均匀分布的随机数 |
rand(n) | 返回n*n的随机矩阵 |
rand(m,n) 或rand([m,n] | 返回m*n的随机矩阵 |
rand(sz1,sz2,szN) | 返回由随机数组成的sz1*sz2*…*sz维数组 |
rand(size(A)) | 返回和A由相同尺寸的随机矩阵 |
x=rand(__,typename) | 返回由typename数据类型的随机生成的数据 .typename可以是‘single’或’double’ |
rand(___,‘like’,p) | 返回由P等随机数组组成的数组;也就是p统一对象类型。可指定typename或‘like’,但不能同是指定两者 |
PS:公式:r=a+(b-a).*rand(N,1)生成区间(a,b)内的N个随机数
>> x=rand
x =0.9058
>> x=rand(2,3)
x =0.1270 0.6324 0.27850.9134 0.0975 0.5469
>> x=rand(2,3,4)
x(:,:,1) =0.9575 0.1576 0.95720.9649 0.9706 0.4854
x(:,:,2) =0.8003 0.4218 0.79220.1419 0.9157 0.9595
x(:,:,3) =0.6557 0.8491 0.67870.0357 0.9340 0.7577
x(:,:,4) =0.7431 0.6555 0.70600.3922 0.1712 0.0318
>> rand(1,4,'single')
ans =1×4 single 行矢量0.2769 0.0462 0.0971 0.8235
>> a=-5+(5+5)*rand(10,1) %产生(-5,5)之间的随机数
a =-3.1313-0.1024-0.54411.46312.09362.5469-2.23971.79701.5510-3.3739
>> p=single([3 2;-2 1])x=rand(size(p),'like',p)
x =2×2 single 矩阵0.1190 0.95970.4984 0.3404
randi作用:产生均匀分布的伪随机整数
语法 | 作用 |
---|---|
randi(Max) | 产生在开区间(0,max)均匀分布的伪随机整数 |
randi(max,m,n) | 生成闭区间[0,max]区间内的m*n型随机矩阵 |
randi([min,max],m,n) | 生成闭区间[min,max]区间内的m*n型矩阵 |
>> randi(5)
ans =3
>> randi(5,3,2)ans =2 34 42 5
>> randi([1,10],4,1)
ans =10622
>> randi([1,10],1,4)
ans =3 10 4 2
randperm(n):产生[1,10]的10个随机顺序数
>> randperm(10)
ans =1 9 4 3 7 6 2 10 5 8
>> randperm(5)
ans =5 4 2 3 1