matlab 中randn randi rand randsrc的用法以及区别

时间:2021-06-26 15:52:30

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)在开区间(0,iMax)生成mXn型随机矩阵
                       r = randi([iMin,iMax],m,n)在开区间(iMin,iMax)生成mXn型随机矩阵

4, randsrc

无参数形式,随机输出-1或1;

randsrc(m,n);

randsrc(m);

输出m*n阶或m*m阶矩阵,元素为随机出现的-1或1,概率为1/2;

而rand是随机产生0——1中某一数呢,
例如
>> rand(2,3)

ans =

0.9501    0.6068    0.8913
    0.2311    0.4860    0.7621

>> rand(3)

ans =

0.4565    0.4447    0.9218
    0.0185    0.6154    0.7382
    0.8214    0.7919    0.1763

原文链接 http://blog.csdn.net/carrie8899/article/details/8490229