系统仿真中任意概率分布的伪随机数研究.docVIP

系统仿真中任意概率分布的伪随机数研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
系统仿真中任意概率分布的伪随机数研究 第26卷 VO1.26 第1期 NO.1 计算机工程与设计 ComputerEngineeringandDesign 2005年1月 Jan.2005 系统仿真中任意概率分布的伪随机数研究 肖化昆 (广东技术师范学院计算机系,广东广州510631) 摘要:产生一组任意概率分布的伪随机数是计算机技术在系统仿真和模拟中的最基本和首要的问题,但计算机中产 生的伪随机数都是有固定周期的伪随机数,不能满足我们的实际应用.针对如何得到高质量的伪随机数,系统说明了如 何通过均匀分布的伪随机数来产生任意概率分布的伪随机数的理论和方法,并给出了产生几种常用的非均匀概率分布 的伪随机数C++语言的具体实现. 关键词:任意概率分布;伪随机数;均匀分布 中图法分类号:TP391.9文献标识码:A文章编号:1000—7024(2005)01—0168—04 Studyonpseudo—randomnumberofarbitrarinessprobabilitydistributing insystemsimulation XIAOHua—kun (DepartmentofComputerEngineering,GuangdongTechnicalNormalCollege,Guangzhou510665,China) Abstract:Howtogeneratearbitrarinessprobabilitydistributingrandomnumberisthebasicprobleminthesystemsimulation.The theoryofgeneratingarbitrarinessprobabilitydistributingrandomnumberfromuniformlydistributingrandomnumberissystematically dealwith.Severalmethodsforgeneratingarbitrarinessprobabilitydistributingrandomnumberisalsointroduced. Keywords:arbitrarinessprobabilitydistributing;pseudo—randomnumber;uniformprobabilitydistributing 1引言如:取xD2计算结果如表所示. 表lseed=23时的平方取中算法的随机数序列 蒙特卡罗(MonteCarlo)方法应用的最基本也是最核心问 题之一就是首先必须选取能够描述和实际问题发生概率相一 致的一串随机数序列作为问题仿真的数据源,即要有一个能 够产生特定概率分布的高质量的随机数发生器.因为在计算 机中产生真正随机的数是不存在的,而且任意概率分布的伪 随机数也不能提供.计算机中所能提供的只是伪随机的均匀 分布的随机数,常常不能满足工程仿真和实验的需要.因此, 如何生成各种概率分布的随机数成为计算机技术在仿真领域 应用必须首要解决的问题,我们通常采用的方法就是提高伪 随机数的质量,使其接近于真实的随机数. 2产生IO,1】区间上均匀分布的伪随机数序列v(o,1) 2.1平方取中算法 平方取中算法是JohnVOltNeumann于4O年代计算机发 明之初提出的.其方法是:选取一个m位的十进制数xD作为 种子.计算得到一个2m位的数(不足m位在前面补0),到 中间的位数作为x,令r=x,/102.重复上述过程,便可得到m位 十进制数序列x.,x,x2,—x…及相应的在区间【O.1】上的实数 列ro,r,,12,r3…rn….这一算法较简单易实现,但对大部分的初 始值,其生成的数值序列不能保证足够长度就发生循环.例 x83887447204060 x68897744547622O94OR=x,lo00.880.740.40.6 可见,当仅生成6个有效数后,即产生无限循环.此法给 出了一个产生随机数的原始构想,但由于其缺点,现在已不常 用.下面主要说明目前常用的伪随机数的生成算法——线性 同余发生器算法. 2.2线性同余发生器算法(LinearCongruentialGenerator, 简称LCG) 同余算法是目前最常采用的伪随机数的生成方法: X--(a?x.)+b)modMi=0,1,2,…,M-1. 由上式得到的数值序列为同余序列,当函数f(xJ为线性 函数时,即得到线性同余序列LCG(a,b,M,no): n|十】=(a?n.+b)modMi=0,1,2,…,M一1. LCG(a,b,M,no)中的4个参数分别为: M,模数Mgt;0 a,乘数0≤a≤m b,增量0≤C≤m I10,起始值(种子)0≤I10≤m 收稿日期:

文档评论(0)

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

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

1亿VIP精品文档

相关文档