- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
随机模拟与实验随机模拟的基本方法又称为蒙特卡罗(Monte Carlo)方法。是Velleman与Von Neumann等人在20世纪40年代为研制核武器提出来的,已大量地运用于计算机仿真试验。随机模拟的典型步骤: 1、根据问题构建模拟系统 2、仿真系统中各种分布的随机变量 3、运行模拟系统,进行统计测量 4、分析数据,输出结果主要工具 基本工具:C、C++等编程模拟、matlab 网络模拟:OPNET Modeler、NS2:大型网络仿真布丰(Buffon)投针试验例子:布丰(Buffon)投针试验 将一根长为l的细针随机地投掷于标有无数平行线的平面上,假定平行线间距为2l,则针与平行线相交的概率为1/π。lBΘBOD2lB布丰(Buffon)投针试验(续)例子:利用布丰投针试验求圆周率。 按照上面的讨论,利用大数定律,只要重复足够多的次数可以近似求得随机数及其产生定义:如果一个实数列{ui}与均匀分布的独立随机变量序列{Ui}的样本序列具有相同的统计特性,则称之为随机的,该数列中的各个数称为均匀分布随机数,简称随机数(Random Number)。随机数的产生有三种方法: 1)将已有的随机数存表,需要时直接使用: 美国兰德公司在1950年曾将100万个在(0,1)区间内的实数存入计算机外存储器,以便在仿真过程中进行随机调用。2)将计算机连接到物理设备(如噪声源)上获得随机数流。(随机性和均匀性最好,但产生过程太复杂,未能得到推广。) 3)通过数学算法产生随机数(伪随机数)。这种方法容易与计算机结合,因而得到广泛的应用。 伪随机数伪随机数的产生:用户只需给定一个初始的 随机数(种子值),调用该算法,即可按某个固定的公式计算出下一个“随机”数。随后,以新产生出来的“随机”数作为种子,再计算出新的“随机”数。重复调用该算法即可产生出一系列的“随机”数,以满足系统仿真的需要。 伪随机数本质上不是随机的。但只要计算公式选择得当,通过比较严格地统计检验,仍然可以产生出一系列近似于U(0,1)分布并且相对独立的随机数流,这种随机数流对于大多数仿真模型,是能满足需要的。因此,仍然是目前广泛应用的工程方法。伪随机数的算法伪随机数是按照一定的计算公式产生的一列数,主要借助于如下的递推公式: un=f(un-1,un-2,…,un-k) 该公式(或算法)也称为随机数发生器(RNG)。常用的伪随机数的算法有: 1)平方取中法(Von Neumann 40年代发明) 2)乘法取中法 3)线性同余法:简单、实用伪随机数发生器的特点: 1)产生的随机数序列具有循环周期性。可以证明,任何产生伪随机数的算法总会进入循环,这样为了保证随机数序列不产生重复的数据,就要求循环的周期足够长。 2)算法过程具有再现性:在初始化时,如果赋予相同的种子值,将产生完全相同的随机数序列。伪随机数的算法(续)线性同余法1)设置y0,即设置种子2)yn=kyn-1(mod N),un=yn/N三组常见的参数N=1010,k=7,周期≈5×107(IBM随机数发生器)N=231,k=216+3,周期≈5×108(ran0) N=231-1,k=75,周期≈2×109一般随机数的产生方法大部分计算机语言都提供了产生0-1间隔均匀分布随机数的标准函数或方法: C语言中的rand函数,VB中的randum函数, java语言中的Randnum类。由均匀分布的随机数可构造出任一分布F(x)的随机数,最基本的方法是逆变换法:一般随机数的产生方法(续)例如:利用变换法产生指数分布随机数的方法。因此,X的模拟方法为 1)产生均匀分布随机数{ui}; 2)计算指数分布随机数:xi=-ln ui /λ泊松分布随机变量的产生方法从泊松分布的分布律可知,采用前述方法很不适用。由于因此,采用递推法构成泊松分布 :1)产生均匀分布随机数u;2)3)若uF,令X=i,停止;4)5)转向3)。正态分布随机变量的产生方法标准正态随机变量的分布函数 的反函数不存在显式,因此也不能用逆变法产生。故采用如下方法:设Ui~U(0,1),i=1,2,…,n,且相互独立,由中心极限定理可知,当n较大时实验平台介绍将显示的结果保存为*.bmp文件波形显示区域产生各种分布的随机数显示均值统计并显示各种分布的概率密度或分布律实验自相关序列并显示Rx实验执行步骤选择执行的实验内容在出现正确结果后,选择“保存”选择结果保存的目录输入保存结果的文件名,必须为*.bmp文件选择“保存”23145实验平台介绍实验平台包含的源文件StdAfx.cpp:VC工程自带文件,不能修改random.cpp和random.h:工程主
文档评论(0)