Matlab随机函数

整理一下Matlab里的随机函数功能。

  • randperm函数
randperm(n)     % 产生从1到n的随机排列(整数类型);
randperm(n, m)  % 产生m个属于1到n的随机整数;
  • randsrc函数
out = randsrc                        % -1 或 1
out = randsrc(m)                     % m*m 个 -1 或 1
out = randsrc(m,n)                   % m*n 个 -1 或 1
out = randsrc(m,n,alphabet)          % 指定返回值为 alphabet 中的元素
out = randsrc(m,n,[alphabet; prob])  % 指定概率


out = randsrc(4, 3, [1 2])
out =
     1     2     2
     2     1     1
     1     2     2
     1     2     2

out = randsrc(5, 2, [1 2; 0.1, 0.9])
out =
     1     2
     2     2
     2     2
     2     1
     2     2
  • unifrnd函数
R = unifrnd(A,B)      % 返回A和B之间的随机数
R = unifrnd(A,B,m,n)  % 返回 m*n 个A和B之间的随机数

unifrnd(3, 4)
ans =
    3.6981

unifrnd(3, [3, 4, 5])
ans =
    3.0000    3.8819    4.3384

unifrnd(3, 4, 2, 3)
ans =
    3.6665    3.1280    3.1711
    3.1781    3.9991    3.0326
  • unidrnd函数
R = unidrnd(N)         % 返回不大于N的随机整数
R = unidrnd(N, m, n)   % 返回 m*n 个不大于N的随机整数

unidrnd(4)
ans =
     2

R = unidrnd(4, 2, 3)
R =
     1     2     3
     2     1     1
  • rand函数

    均匀分布,介于0~1之间;

  • randn函数

    高斯分布,比如产生均值为0.1,方差为0.1的高斯分布矩阵:

x = 0.1 + sqrt(0.1) * randn(4);

猜你喜欢

转载自blog.csdn.net/u012366767/article/details/81700074