首页 > 编程知识 正文

matlab产生随机数的函数,MATLAB随机数函数

时间:2023-05-05 19:00:29 阅读:181805 作者:2986

1 :使用1:rand函数

命令: rand(n )、rand(n )、n )等

对于rand(n ),在help rand中得到的解释是: r=rand ) returnsannn-by-nmatrixcontainingpseudorandomvaluesdrawnfromthestandardunifrardunifunififorang

也就是说,rand(n )是生成满足标准的均匀分布的矩阵,其值位于开始区间0~1。

概率论知识表明,当一个序列按(0,1 )区间标准均匀分布时,其期望为0.5,方差为1/12 ) 0.08333 )。

请用程序验证一下:

a=rand (1,10 ); b=rand (1,1000 ); c=rand (1,100000; mean(a ) ans=0.5890mean(b ) ans=0.4900mean(c ) c ) ans=0.5000var(a ) a ) ans=0.0634var(b ) b ) ans=0.

如果希望在区间[a,b]中生成按标准均匀分布的序列,则可以使用r=a(b-a ).*rand(m,n ),如下例所示。

%%在区间[ 10,100 ]按标准均匀分布,期望为55,方差为90 ^2/12=675 r=1090.* rand (1,100000 ); mean(r ) ans=54.9954var(r ) r ) ans=673.8957 2)焦虑的运动鞋函数用法

命令:着急运动鞋(IMAX,n )、着急运动鞋(m,n )、着急运动鞋(m,n )、着急运动鞋([IMIN,IMAX )、…等等

关于着急的运动鞋(n ),help的着急运动鞋得到的说明如下。

R=焦急的运动鞋(IMAX,n ) returns ann-by-nmatrixcontainingpseudorandomintegervaluesdrawnfromthediscreteuniformdistributionon

R=焦急的运动鞋([IMIN,IMAX] )、……) returnsanarraycontainingintegervaluesdrawnfromthediscreteuniformdistributiononimin 3360

也就是说,着急的运动鞋生成1:IMAX或IMIN:IMAX之间的离散均匀分布的整数矩阵。 例如:

r1=着急运动鞋(10,2,5 )生成数据1:10之间的2*5矩阵R1=7137561051R2=着急运动鞋([ 10,100 ],2,5 )生成数据10:100之间的2

3 :使用3:randn函数

命令: randn(n )、randn(n )、n )等

对于randn(n ),在help randn中得到的解释是: r=randn ) returns ann-by-nmatrixcontainingpseudorandomvaluesdrawnfromthestandandardond

即,randn(n )生成遵循标准正态分布矩阵,其值位于开始区间0~1

%生成(0,1 )按照标准正态分布排列r=Randn ) 1,100000的集合; 将mean(r ) %平均值ans=-0.0015 var(r ) r ) %方差ans=0.9975hist(r ) r,1000 ) %数据分成1000个组进行绘图

4 :随机数据生成控制语句

在早期的MATLAB版本中,“seed”、“State”和“Twister”等命令控制随机数据的生成,但将来的版本会删除这些命令。 现在使用rng语句而不是这些命令来控制随机数据的生成。 请参见MATLAB中的updatingyourrandomnumbergeneratorsyntax

介绍rng的使用。

1 )如果使用rand、着急的运动鞋和randn语句,那么缺省情况下每次生成的数据将不同(使用不同的随机数生成种子)。

%前后两次调用rand (1,5 )生成不同的数据rand (1,5 ) ans=0.8147 )0.9058 )0. 1270.9134.6324 rand (1,5 ) ans=0. 0975

RNG (默认); 很好。

2 )想要每次生成的随机数据相同时,保存随机数生成环境

s=rng; %保存环境i1=着急运动鞋(10,1,5 ) i1=2 5 10 8 10rng(s ) s ) %调用上一个环境时,下一个相同的数据i2=着急运动鞋(10,1,5 ) I2=25 10810 5 )生成5 ) i3=2 5 10 8 10 3)要基于当前时间生成种子,每次生成不同的随机数据,请使用以下命令:

RNG(shuffle ); 焦急的运动鞋(10,1,5 ) ans=9 7 9 1 4焦急的运动鞋(10,1,5 ) ans=2 8 3 10 1

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。