版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1布丰(Buffon)投针试验(shyn) 例子:布丰(Buffon)投针试验 将一根长为l的细针随机(su j)地投掷于标有无数平行线的平面上,假定平行线间距为2l,则针与平行线相交的概率为1/。sin)2/()2 , 0(), 0(进入阴影区,则,由下图可知,针与平行线相交为彼此独立。定义事件,且与分别服从均匀分布与,则线的距离为与上边平行,角度为针的中心点为解:设落在平面上的细oAlBAlUUDDoolBDBB2lO第1页/共29页第一页,共29页。2随机数及其产生(chnshng) 定义:如果一个实数列ui与均匀分布的独立随机变量序列Ui的样本序列具有相同的统计特性,则称之为随机的,该
2、数列中的各个数称为均匀分布随机数,简称随机数(Random Number)。 随机数的产生有三种方法: 1)将已有的随机数存表,需要时直接使用: 美国兰德公司在1950年曾将100万个在(0,1)区间内的实数存入计算机外存储器,以便在仿真过程中进行随机调用。2)将计算机连接到物理设备(如噪声源)上获得(hud)随机数流。(随机性和均匀性最好,但产生过程太复杂,未能得到推广。)3)通过数学算法产生随机数(伪随机数)。这种方法容易与计算机结合,因而得到广泛的应用。 第2页/共29页第二页,共29页。3伪随机数 伪随机数的产生:用户只需给定一个初始的 随机数(种子值),调用该算法,即可按某个固定的公
3、式计算出下一个“随机”数。随后,以新产生出来的“随机”数作为种子,再计算出新的“随机”数。重复调用该算法即可产生出一系列的“随机”数,以满足系统仿真的需要。 伪随机数本质上不是随机的。但只要计算公式选择得当,通过比较严格地统计检验,仍然可以产生出一系列近似于U(0,1)分布并且相对独立的随机数流,这种随机数流对于大多数仿真模型,是能满足需要的。因此,仍然是目前广泛应用的工程(gngchng)方法。第3页/共29页第三页,共29页。4伪随机数的算法(sun f)伪随机数是按照一定的计算公式产生的一列数,主要借助于如下的递推公式: un=f(un-1,un-2,un-k)该公式(或算法)也称为随机
4、数发生器(RNG)。常用的伪随机数的算法有:1)平方取中法(Von Neumann 40年代发明)2)乘法取中法 3)线性同余法:简单、实用伪随机数发生器的特点:1)产生的随机数序列具有循环周期性。可以证明,任何产生伪随机数的算法总会进入循环,这样为了保证随机数序列不产生重复的数据,就要求循环的周期足够长。2)算法过程具有再现(zixin)性:在初始化时,如果赋予相同的种子值,将产生完全相同的随机数序列。第4页/共29页第四页,共29页。5伪随机数的算法(sun f)(续) 线性同余法 1)设置(shzh)y0,即设置(shzh)种子 2)yn=kyn-1(mod N),un=yn/N 三组常
5、见的参数 N=1010,k=7,周期5107 (IBM随机数发生器)N=231,k=216+3,周期5108 (ran0) N=231-1,k=75,周期2109第5页/共29页第五页,共29页。6一般(ybn)随机数的产生方法 大部分计算机语言都提供了产生01间隔均匀分布随机数的标准函数或方法:C语言中的rand函数,VB中的randum函数, java语言中的Randnum类。 由均匀分布的随机数可构造出任(chrn)一分布F(x)的随机数,最基本的方法是逆变换法:的密度函数。是其中,。因为的分布函数正好是则进行变换,可得:对均匀随机变量),由它的反函数(假定它是严格单调的给定分布) 1
6、, 0()()(1)()()()()()()()()(111UufxFduduufxFuPxUFPxXPxFxFXUFXUFxFUxFxFUX第6页/共29页第六页,共29页。7一般随机数的产生(chnshng)方法(续) 例如:利用变换法产生指数分布随机数的方法(fngf)。 因此,X的模拟方法(fngf)为 1)产生均匀分布随机数ui; 2)计算指数分布随机数:xi=-ln ui /)1ln(1)(1)(1UUFXexFx,其反函数为为的指数分布的分布函数参数为第7页/共29页第七页,共29页。8泊松分布随机变量(su j bin lin)的产生方法从泊松分布的分布律可知(k zh),采用
7、前述方法很不适用。由于!iiepP Xii11(1)!1iiieppii因此,采用递推法构成泊松分布:1)产生(chnshng)均匀分布随机数;2)3)若uF,令X=i,停止;4)5)转向3)。0,;ipeFp/(1),1;ppiFFp ii 第8页/共29页第八页,共29页。9正态分布随机变量(su j bin lin)的产生方法标准正态随机变量的分布函数 的反函数不存在显式,因此也不能用逆变法产生。故采用如下方法(fngf):设UiU(0,1),i=1,2,n,且相互独立,由中心极限定理可知,当n较大时2/21( )2xtxedt1()(0,1)()niiiiUnE UZNnD U第9页/
8、共29页第九页,共29页。10实验平台(pngti)介绍产生(chnshng)各种分布的随机数统计并显示各种( zhn)分布的概率密度或分布律显示均值实验自相关序列并显示Rx将显示的结果保存为*.bmp文件波形显示区域第10页/共29页第十页,共29页。11实验执行(zhxng)步骤1. 选择执行的实验内容2. 在出现(chxin)正确结果后,选择“保存”3. 选择结果保存的目录4. 输入保存结果的文件名,必须为*.bmp文件5. 选择“保存”12453第11页/共29页第十一页,共29页。12实验(shyn)平台介绍 实验平台包含的源文件 StdAfx.cpp:VC工程(gngchng)自带
9、文件,不能修改 random.cpp和random.h:工程(gngchng)主文件,不能修改 Scope.cpp和Scope.h :画图程序,不能修改 randomDlg.cpp和randomDlg.h:主界面程序,包括对各个按钮的动作的响应,还包括对各种随机变量的输入参数的设定 MyRand.cpp和MyRand.h:各种分布的随机变量的产生程序,实验过程中主要完成MyRand.cpp中的函数即可第12页/共29页第十二页,共29页。13MyRand.cpp的函数(hnsh) unsigned int CMyRand:MyRand(unsigned int seed) 函数功能:采用线性同
10、余法,根据输入的种子数产生(chnshng)一个伪随机数,如果种子不变,则可以重复调用该函数产生(chnshng)一个伪随机序列 参数: seed作为调用函数的输入种子,同一个伪随机数序列可采用同一个seed 实现思路:利用CMyRand类中定义的全局变量:S, K, N, Y。其中K和N为算法参数,S用于保存种子数,Y为产生(chnshng)的随机数 注意事项:Y的初值的计算第13页/共29页第十三页,共29页。14MyRand.cpp的函数(hnsh) double CMyRand:AverageRandom (double min,double max) 函数功能(gngnng):产生一
11、个在minmax范围内精度为4位小数的平均分布的随机数 参数:min和max代表该均匀随机变量的取值范围,精确到小数点后4位。该参数在randomDlg.cpp中OnAverage ()和OnAverageStat()函数中已经设置第14页/共29页第十四页,共29页。15MyRand.cpp的函数(hnsh) double CMyRand:NormalRandom(double miu, double sigma, double min, double max) 函数功能:产生均值为miu,方差(fn ch)为sigma的正态分布的随机数 参数: miu为均值, sigma为方差(fn ch
12、), min和max 为均匀分布随机变量的取值范围。 所有参数在randomDlg.cpp的OnNormal()和OnNormalStat()函数中设置。 实现思路:利用中心极限定理,通过多个独立的均匀随机变量之和构成正态随机变量第15页/共29页第十五页,共29页。16MyRand.cpp的函数(hnsh) double CMyRand:ExpRandom(double lambda, double min, double max) 函数功能:产生参数为lambda的指数分布的随机数 参数: lambda为指数分布的参数, min和max 为均匀分布随机变量的取值范围。所有参数在random
13、Dlg.cpp的OnExp ()和OnExpStat ()函数中设置。 实现思路(sl):利用逆变换法第16页/共29页第十六页,共29页。17MyRand.cpp的函数(hnsh) unsigned int CMyRand:PoisonRandom (double lambda, double min, double max) 函数功能:产生参数为lambda的产生泊松分布的随机数 参数: lambda为泊松分布的参数, min和max 为均匀分布随机变量的取值范围(fnwi)。所有参数在randomDlg.cpp的OnPoison ()和OnPoisonStat ()函数中设置。 实现思路
14、:利用递归法第17页/共29页第十七页,共29页。18MyRand.cpp的函数(hnsh) double CMyRand:Ex(void) 函数功能:计算任意分布(fnb)的随机过程的均值。本函数在randomDlg.cpp的OnSelf()函数中调用。第18页/共29页第十八页,共29页。19MyRand.cpp的函数(hnsh) double* CMyRand:Rx(double lambda, int points) 函数功能:计算泊松过程的自相关序列 参数: lambda为泊松过程的参数, points为输入随机数序列的个数。所有参数在randomDlg.cpp的OnSelfStat
15、 () 函数中设置。 返回:函数返回一个动态分配的数组头指针,产生的Rx序列保存于该数组中 注意(zh y):不要在本函数中释放该数组的内存第19页/共29页第十九页,共29页。20randomDlg.cpp注意事项 可以修改本程序中调用的MyRand.cpp中函数的输入参数,以观测参数变化后的效果。但是,不要修改其他与MyRand.cpp无关的代码,以免出现(chxin)错误!第20页/共29页第二十页,共29页。21 实验安排: 第一次:伪随机数、均匀随机变量和正态随机变量 第二次:指数随机变量、泊松随机变量、均值( jn zh)和自相关。第21页/共29页第二十一页,共29页。22第22页/共29页第二十二页,共29页。23第23页/共29页第二十三页,共29页。24(1)随机数的产生(chnshng)第24页/共29页第二十四页,共29页。25(2)产生一个在minmax范围(fnwi)内精度为4位小数的平均分布的随机数已知随机变量(su j bin lin)密度函数为 : 第25页/共29页第二十五页,共29页。26(4)泊松分布(fnb)的随机数(3)产生(chnshng)一个指数分布的随机数第26页/共29页第二十六页,共29页。27实验平台(pngti)介绍产生各种(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东广州花都区新雅街尚雅小学招聘语文专任教师2人备考题库含答案详解
- 2026中国一重集团国际有限责任公司面向集团内部及社会招聘业务人员备考题库及答案详解(历年真题)
- 2026新疆十六团幼儿园编外人员招聘4人备考题库及答案详解(夺冠系列)
- 2026安徽合肥市庐江县沿湖治理建设管理中心选调1人备考题库附参考答案详解ab卷
- 2026云南红河州个旧市医疗卫生共同体乍甸分院编外工作人员招聘1人备考题库及答案详解(真题汇编)
- 2026新疆、内蒙古风电叶片工厂(央企)招聘备考题库及答案详解(基础+提升)
- 2026云南临沧沧源佤族自治县勐省中心卫生院招聘村卫生室工作人员5人备考题库附答案详解(模拟题)
- 2026广西崇左凭祥市家门口就业服务站招聘6人备考题库含答案详解(突破训练)
- 2026山东济南文旅发展集团有限公司招聘2人备考题库附参考答案详解(巩固)
- 2026上半年安徽事业单位联考黄山市屯溪区招聘40人备考题库带答案详解(培优b卷)
- 企业英文培训课件
- 土方回填安全文明施工管理措施方案
- 危废处置项目竣工验收规范
- 北京市东城区2025-2026学年高三上学期期末考试地理试卷
- 中国昭通中药材国际中心项目可行性研究报告
- 幽门螺杆菌对甲硝唑耐药的分子机制
- 2025年安徽历年单招试题及答案
- 国家中医药管理局《中医药事业发展“十五五”规划》全文
- 春夜喜雨教案课件
- T-GXAS 518-2023 农村生活污水处理生态功能强化型氧化塘设计规范
- 颂钵疗愈师培训
评论
0/150
提交评论