matlab中rand函数使用

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.2785
    0.9134    0.0975    0.5469
>> x=rand(2,3,4)
x(:,:,1) =
    0.9575    0.1576    0.9572
    0.9649    0.9706    0.4854
x(:,:,2) =

    0.8003    0.4218    0.7922
    0.1419    0.9157    0.9595
x(:,:,3) =
    0.6557    0.8491    0.6787
    0.0357    0.9340    0.7577
x(:,:,4) =
    0.7431    0.6555    0.7060
    0.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)  %产生(-55)之间的随机数
a =
   -3.1313
   -0.1024
   -0.5441
    1.4631
    2.0936
    2.5469
   -2.2397
    1.7970
    1.5510
   -3.3739
>> p=single([3 2;-2 1])
   x=rand(size(p),'like',p)
x =
  2×2 single 矩阵
    0.1190    0.9597
    0.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     3
     4     4
     2     5 
>> randi([1,10],4,1)
ans =
    10
     6
     2
     2
>> 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

猜你喜欢

转载自blog.csdn.net/wsj_jerry521/article/details/111520800
今日推荐