matlab随机数.docVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab随机数.doc

1. MATLAB 函数 rand 产生在区间 (0, 1)的均匀随机数,它是平均分布在 (0,1)之间。一个称为seed的值则是用来控制产生随机数的次数。均匀随机数函数的语法为rand(n),rand(m,n),其结果分别产生一矩阵含n×n个随机数和一矩阵含m×n的随机数。注意每次产生随机数的值都不会一样,这些值代表的是随机且不可预期的,这正是我们用随机数的目的。我们可利用这些随机数代入算式中,来表示某段讯号的不规则振幅或是某个事件出现的机率。均匀随机数其值平均的分布于一区间的特性可以从其统计密度函数(probabilitydensity function, PDF)说明。从其PDF分布类似长条图的分布,可以看出其每一个随机数值出现的机率皆相同,所以它被称为均匀随机数。 见以下的例子: rand(1,6) % 第一次使用随机数产生器 ans = 0.2190 0.0470 0.6789 0.6793 0.9347 0.3835 hist(ans) % 看看长条图的长相 plot(ans) % 比较上个图与这个图有何差异?何者能代表不规则数据的分布 rand(1,6) % 第二次使用随机数产生器,注意每次产生的随机数值皆不同 ans = 0.5194 0.8310 0.0346 0.0535 0.5297 0.6711 因为每次随机数产生的值皆不同,如果因为验证算式需要确定所使用的随机数值是相同的,可以利用seed这个选项,用以设定使用计算随机数产生器的起始值,其语法为rand(seed,n),n的规定是。其中n=0有特别意义是使用第一次产生随机数值的起始值(=931316785),其它的n值即是所使用起始值。如果使用相同的起始值,则随机数值会一样,因为随机数的计算是依据起始值。请看以下的例子: rand(seed,0) % 将随机数值的起始值重设,相当于是第一次产生随机数值 rand(seed) % 显示现在使用的 seed 值=931316785 ans = 931316785 rand(2,3) % 注意随机数值的上下限介于 [0,1] 区间 ans = 0.2190 0.6789 0.9347 0.0470 0.6793 0.3835 rand(seed) % 显示再产生随机数值所用的seed=412659990 ans = 412659990 rand(seed,0) rand(1,6) ans = 0.2190 0.0470 0.6789 0.6793 0.9347 0.3835 rand(seed,100) % 设定随机数值的起始值=100 rand(seed) ans = 100 rand(2,5) ans = 0.2909 0.0395 0.3671 0.5968 0.9253 0.0484 0.5046 0.9235 0.8085 0.3628 如果需要产生随机数值不是介于[0,1]区间,可以采用以下步骤将随机数值从[0,1]区间转换到其它区间。假设要得到一组随机数值是介于[2,4]区间,我们先产生一组随机数介于[0,1]区间 ,再将其值乘以2,因为2等于区间上下限的差值(4-2)。接著再加上下限值(2),即可得到随机数值是介于[2,4]区间。例如区间为[a,b],a为下限值,b为上限值。则算式如下 x=(b-a)*r + a, 其中x代表转换后的随机数值的阵列。请看下列示范: data_1 = 2*rand(1,500)+2; %原随机数值有500个 plot(data_1) %这个图是否看来眼熟? axis([1 500 0 6]) %调整横轴/纵轴上下限 hist(data_1) %看看其长条图 2. MATLAB 函数randn 产生常态随机数,它是以高斯分布在随机数出现的上下限区间。常态随机数其值分布于一区间的特性可以从其统计密度函数(PDF)说明。从其 PDF分布可以看出其每一个随机数值出现的机率皆不相同,靠近中间的随机数值出现的机率比起两端的值要高,这是一般不规则现象较可能出现的情形,所以它被称为常态随机数。由于常态随机数并非以上下限来定义,它是用数据的平均值和方差定义之。因此在产生一常态随机数时,需设定平均值和方差的大小。randn(n)和randn(n,m)是分别产生一矩阵含n×n个随机数和一矩阵含m×n的常态随机数,其平均值为0方差为1。 见以下的例子: x=-2.9:0.2:2.9; % 这个例子用到 hist 函数来画出二种随机数的分布图 y=randn(1,5000); hist(y,x) title(Histogram of Normal Random Data) y1=rand(1,5000

文档评论(0)

ziyouzizai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档