matlab随机数⼤于0,Matlab随机数⼩结
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)在开区间[1,iMax]上⽣成均匀分布的伪随机整数
randi(iMax,m,n)在开区间[1,iMax]⽣成mXn型随机矩阵
r = randi([iMin,iMax],m,n)在开区间[iMin,iMax]⽣成mXn型随机矩阵
以上3个函数都是根据标准伪随机数发⽣器的内部状态产⽣的,所以如果把发⽣器设置为初始状态,会得到相同的随机数,但如果改变了状态,得到的结果就是不同的;⽽在matlab打开时,发⽣器复位到初始状态,所以⽤上⾯3个函数得到的结果将是⼀样的
如我的matlab在打开时输⼊以下命令将得到相同的随机数:
>> randn(3)
ans =
0.537667139546100 0.862173320368121 -0.433592022305684
1.833885014595087 0.318765239858981 0.342624466538650
-2.258846861003648 -1.307688296305273 3.578396939725761
>> randn(3)
ans =
2.769437029884877 0.725404224946106 -0.204966058299775
-1.349886940156521 -0.063054873189656 -0.124144348216312
3.034923466331855 0.714742903826096 1.489697607785465
>> randn(3)
ans =
1.409034489800479 -1.207486922685038 0.488893770311789
1.417192413429614 0.717238651328838 1.034693009917860matlab生成随机数
0.671497133608081 1.630235289164729 0.726885133383238
如果想将发⽣器复位到⼀个固定状态,可以使⽤如下命令
randn('seed',0);
randn(3)
以上两条命令将总是得到⼀样的随机数。
上述命令已经在7.7以后摒弃了(但仍可继续⽤),7.7以后可以使⽤randstream函数,如下
DefaultStream)
⼀般情况下,随机数都是从默认随机数流中得到数据的,⽽可以创建⾃⼰的数据流对象,并可以从⾃⼰的数据流对象中得到随机数,详见randstream函数。
如果希望matlab在不同程序段产⽣不同的随机数据,可以将默认数据流设置为基于时钟的,⽅法为
RandStream.setDefaultStream ...
(RandStream('mt19937ar','seed',sum(100*clock)));
normrnd是⾃⼰可以指定均数和标准差的正态分布。
另外,Matlab随机数⽣成函数主要包括:
betarnd 贝塔分布的随机数⽣成器
binornd ⼆项分布的随机数⽣成器
chi2rnd 卡⽅分布的随机数⽣成器
exprnd 指数分布的随机数⽣成器
frnd f分布的随机数⽣成器
gamrnd 伽玛分布的随机数⽣成器
geornd ⼏何分布的随机数⽣成器
hygernd 超⼏何分布的随机数⽣成器
lognrnd 对数正态分布的随机数⽣成器
nbinrnd 负⼆项分布的随机数⽣成器
ncfrnd ⾮中⼼f分布的随机数⽣成器
nctrnd ⾮中⼼t分布的随机数⽣成器
ncx2rnd ⾮中⼼卡⽅分布的随机数⽣成器
normrnd 正态(⾼斯)分布的随机数⽣成器
poissrnd 泊松分布的随机数⽣成器
raylrnd 瑞利分布的随机数⽣成器
trnd 学⽣⽒t分布的随机数⽣成器
unidrnd 离散均匀分布的随机数⽣成器
unifrnd 连续均匀分布的随机数⽣成器
weibrnd 威布尔分布的随机数⽣成器
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论