matlab中的rand和randn和rng

1,rand 生成均匀分布的伪随机数。分布在(0~1)之间
主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数
rand(m,n,'double')生成指定精度的均匀分布的伪随机数,参数还可以
是'single'

>> A=rand(1,2)
A =
   0.814723686393179   0.905791937075619

>> B=rand(1,2,'double')
B =
   0.126986816293506   0.913375856139019

>> B=rand(1,2,'single')
B =
   0.6323593   0.0975404
rand(RandStream,m,n)利用指定的RandStream(我理解为随机种子)生成伪
随机数

 2,randn 生成标准正态分布的伪随机数(均值为0,方差为1)
主要语法:和上面一样

3,rng 控制随机数的生成

此MATLAB函数使用非负整数sd对随机数生成器进行种子处理,以便rand,randi和randn生成可预测的数字序列。

rng(sd)种子使用非负整数种子,使rand、randi和randn产生一个可预测的数字序列。

(rng('shuffle')种子基于当前时间生成随机数生成器。因此,rand、randi和randn在每次调用rng之后都会产生不同的数字序列。)

猜你喜欢

转载自blog.csdn.net/qq_41295976/article/details/85912501