MATLAB随机函数

1 rand()函数

  • 产生由在(0, 1)之间均匀分布的随机数组成的数组
Y = rand( n ): 返回一个n x n的随机矩阵。如果n不是数量,则返回错误信息
Y = rand( m,n ) 或 Y = rand( [m n] ): 返回一个m x n的随机矩阵
Y = rand(m,n,p,...) 或 Y = rand( [m n p...] ): 产生随机数组
Y = rand( size(A) ): 返回一个和A有相同尺寸的随机矩阵

例子

(1)用rand()产生均值a,方差d,服从均匀分布的4×5的随机矩阵A

A = sqrt(12*d)*rand(4,5) + (a-0.5*sqrt(12*d));

补充
X~U(a,b),X在区间(a,b)上服从均匀分布

E(X)=a+b2E(X)=a+b2

δ2=D(X)=(a+b)212δ2=D(X)=(a+b)212

所以rand的均值为0.5, 方差为112112

(2) 随机产生60个1到365之间的正数

n = 1+fix( 365*rand(1,60) );

(3) 用rand函数随机取N个从x到y的(y>x)

x = rand(1,N)*(y-x)-x

(4) 生成-5-4之间的10个随机整数

round(rand(1,10)*9)-5

randn()函数

  • 产生均值为0,方差δ2=1δ2=1,标准差δ=1δ=1标准正态分布(高斯分布)的随机数或矩阵
  • randn返回一个每次都变化的数量

用法

Y = randn(n):返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息
Y = randn(m,n) 或 Y = randn([m n]):返回一个m*n的随机项矩阵
Y = randn(m,n,p,...) 或 Y = randn([m n p...]):产生随机数组
Y = randn(size(A)):返回一个和A有同样维数大小的随机数组

例子

(1)随机生成3×4的矩阵

R = randn(3,4) % 将生成矩阵

R =

    0.5377    0.8622   -0.4336    2.7694
    1.8339    0.3188    0.3426   -1.3499
   -2.2588   -1.3077    3.5784    3.0349

(2)产生一个随机分布的指定均值和方差的矩阵

  • 将randn产生的结果乘以标准差,然后加上期望均值即可
  • 如,产生均值为0.6,方差为0.1的一个5*5的随机数
x = 0.6 + sqrt(0.1) * randn(5)

x =

    0.8294    1.0711    0.8268    0.5040    0.2620
    0.5801    1.0456    1.1155    0.6929    0.3440
    0.8260    1.0482    0.7546    0.3510   -0.3311
    0.5352    0.8123    0.9272    0.8809    1.0549
    0.5607    0.2182    0.8299    0.2373    0.7028

(3)用randn产生均值为a,方差为d,服从高斯分布的5×4随机矩阵A

A = a + sqrt(d)*randn(5,4);

randperm()函数

  • 产生一个1到n的随机顺序
  • 可以用来随机产生m个不一样的数

例子

(1)randperm(10)

randperm(10)

ans =

    10     2     4     5     9     1     6     3     7     8

(2)产生一个长度为m(m<=n)的且每个数都在1到n之间随机数组

p1 = randperm(8);
p = p1(1:3)

p =

     1     6     4

unidrnd()函数

  • 产生一个最大值为N的随机正整数R,R为1到N之间

其他函数

  • R = unidrnd(N,v);
  • R = unidrnd(N,m,n);等

不常用。


end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值