随机数生成及随机变量抽样.pptx

上传人:莉*** 文档编号:88828167 上传时间:2023-05-04 格式:PPTX 页数:51 大小:597.34KB
返回 下载 相关 举报
随机数生成及随机变量抽样.pptx_第1页
第1页 / 共51页
随机数生成及随机变量抽样.pptx_第2页
第2页 / 共51页
点击查看更多>>
资源描述

《随机数生成及随机变量抽样.pptx》由会员分享,可在线阅读,更多相关《随机数生成及随机变量抽样.pptx(51页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、一、均匀分布U(0,1)的随机数的产生 产生均匀分布的标准算法在很多高级计算机语言的书都可以看到。算法简单,容易实现。使用者可以自己手动编程实现。Matlab 中也提供给我们用于产生均匀分布的各种函数。我们的重点是怎样通过均匀分布产生服从其他分布的随机数。因此,直接使用Matlab提供的可靠安全的标准函数,当然不用费事了。第1页/共51页IMSL库中的函数使用RNSET:种子的设定 CALL RNSET(ISEED)RNOPT:产生器的类型的设定 CALL RNOPT(IOPT)RNUN/DRNUN:产生均匀分布的随机数 CALL RNUN(NR,R)第2页/共51页例例1 1生生成成1 1行

2、行10001000列列的的1 11010上上离离散散均均匀匀分分布布的的随随机机数;数;生成生成1 1行行10001000列列21213030上离散均匀分布的随机数;上离散均匀分布的随机数;生生成成1 1行行10001000列列50150110001000上上离离散散均均匀匀分分布布的的随随机机数数。并画经验分布函数曲线。并画经验分布函数曲线。Randnum=unidrnd(10,1,10000);cdfplot(Randnum);pauseRandnum=unidrnd(10,1,10000)+10;cdfplot(Randnum);pauseRandnum=unidrnd(500,1,10

3、000)+500;cdfplot(Randnum)cdfplot(x)第3页/共51页第4页/共51页解:由密度函数知 例2设总体X的密度函数为其中 0,生成 1行10000列的随机数.具有均值为 的指数分布Randnum=exprnd(2,1,10000)+5并画经验分布函数曲线。并画经验分布函数曲线。cdfplot(Randnum)第5页/共51页第6页/共51页二、其他各种分布的随机数的产生基本方法有如下三种:逆变换法 合成法 筛选法 第7页/共51页逆变换法设随机变量 的分布函数为 ,定义 定理 设随机变量 服从 上的均匀分布,则 的分布函数为 。因此,要产生来自 的随机数,只要先产生

4、来自 的随机数,然后计算 即可。其步骤为 第8页/共51页为常数例例3 设密度函数为并画经验分布函数曲线。并画经验分布函数曲线。第9页/共51页例例4 设X分布函数为F(X)生成生成n=20的的1行行10000列随机数,并画经验分布列随机数,并画经验分布函数曲线。函数曲线。第10页/共51页n=20Randnum=1-(1-unifrnd(0,1,1,10000).(1/n);cdfplot(Randnum)第11页/共51页为常数例例5 设密度函数为并画经验分布函数曲线。并画经验分布函数曲线。第12页/共51页合成法 合成法的应用最早见于Butlter 的书中。构思如下:如果 的密度函数 难

5、于抽样,而 关于 的条件密度函数 以及 的密度函数 均易于抽样,则 的随机数可如下产生:可以证明由此得到 的服从 。第13页/共51页筛选抽样 假设我们要从 抽样,如果可以将 表示成 ,其中 是一个密度函数且易于抽样,而 ,是常数,则 的抽样可如下进行:定理 设 的密度函数 ,且 ,其中 ,是一个密度函数。令 和 分别服从 和 ,则在 的条件下,的条件密度为 第14页/共51页三、生成标准正态分布的随机数 的随机数产生方法很多。简要介绍三种。法1、变换法(Box 和Muller 1958)设 ,是独立同分布的 变量,令 则 与 独立,均服从标准正态分布。法2、结合合成法与筛选法。(略)法3 3

6、、近似方法(利用中心极限定理)即用 个 变量产生一个 变量。其中 是抽自 的随机数,可近似为一 个 变量。第15页/共51页例例6生成单位圆上均匀分布的生成单位圆上均匀分布的1行行10000列随机数,列随机数,并画经验分布函数曲线。并画经验分布函数曲线。Randnum=unifrnd(0,2*pi,1,10000);xRandnum=cos(Randnum)Y,II=sort(xRandnum)yRandnum=sin(Randnum)plot(xRandnum(II),yRandnum(II),.)第16页/共51页第17页/共51页例例7生成单位正方形上均匀分布的生成单位正方形上均匀分布的

7、1行行10000列列随机数,并画散点图。随机数,并画散点图。mm=10000;Randnum=unifrnd(0,4,1,mm);xRandnum=zeros(1,mm);yRandnum=zeros(1,mm);for ii=1:mm if Randnum(1,ii)=1 xRandnum(1,ii)=0;yRandnum(1,ii)=Randnum(1,ii);else if Randnum(1,ii)=2 xRandnum(1,ii)=Randnum(1,ii)-1;yRandnum(1,ii)=1;else if Randnum(1,ii)=3 xRandnum(1,ii)=1;yRa

8、ndnum(1,ii)=1-(Randnum(1,ii)-2);else xRandnum(1,ii)=1-(Randnum(1,ii)-3);yRandnum(1,ii)=0;end end end end Y,JJ=sort(xRandnum);plot(xRandnum(JJ),yRandnum(JJ),.)第18页/共51页第19页/共51页离散型随机变量的生成离散型随机变量的生成离散型随机变量X,它的取值是非光滑连续的值,它只能间断地即离散地取值x1,x2,x3,xn,且规定x1x2x3xn。其概率密度函数为 p(xi)=pX=xi概率分布函数为例例1010 对某车间每天需求某种零件

9、的数量历史数据中统计获得表1的结果。生成1行1000列零件需求的随机数。并画经验分布函数曲线。并画经验分布函数曲线。表1 某零件每天需求量 X第20页/共51页需求量x(件)概率P(x)累积概率F(x)可分配的随机数范围X1=10 0.10 F(X1)=0.10(.00-.10X2=20 0.20 F(X2)=0.30(.10-.30X3=30 0.40 F(X3)=0.70(.30-.70X4=40 0.25 F(X4)=0.95(.70-.95X5=50 0.05 F(X5)=1.00(.95 1)随机变量生成的算法为产生一个u(0,1),并令i=0;令i=i+1;若uF(xi),转回到第

10、步,否则转至;输出得 Xxi。第21页/共51页mm=10000;Randnum=unifrnd(0,1,1,mm);xRandnum=zeros(1,mm);for ii=1:mm if Randnum(1,ii)=0.1 xRandnum(1,ii)=10;else if Randnum(1,ii)=0.3 xRandnum(1,ii)=20;else if Randnum(1,ii)=0.7 xRandnum(1,ii)=30;else if Randnum(1,ii)=0.95 xRandnum(1,ii)=40;else xRandnum(1,ii)=50;end end end e

11、nd end cdfplot(xRandnum)第22页/共51页第23页/共51页 三角分布(a,m,b)的随机变量其密度函数为其分布函数为 第24页/共51页第25页/共51页 在用Monte Carlo等方法解应用问题时,随机向量的抽样也是经常用到的.若随机向量各分量相互独立,则它等价于多个一元随机变量的抽样。随机向量的抽样方法第26页/共51页例例8生成单位正方形内均匀分布的生成单位正方形内均匀分布的1行行10000列随机列随机数,并画散点图。数,并画散点图。mm=10000 xRandnum=unifrnd(0,1,1,mm);yRandnum=unifrnd(0,1,1,mm);p

12、lot(xRandnum,yRandnum,.)第27页/共51页第28页/共51页第29页/共51页mm=100000 xRandnum=unifrnd(0,1,1,mm);yRandnum=unifrnd(0,1,1,mm);Y,JJ=sort(xRandnum)plot(xRandnum(JJ),yRandnum(JJ),.)第30页/共51页例例9生成单位圆内均匀分布的生成单位圆内均匀分布的1行行10000列随机数,列随机数,并画散点图。画散点图。mm=10000;Randnum1=unifrnd(-1,1,1,2*mm);Randnum2=unifrnd(-1,1,1,2*mm);x

13、Randnum=zeros(1,mm);yRandnum=zeros(1,mm);s=Randnum1.2+Randnum2.2;ii=1;jj=1;while iimm if s(1,jj)=1;xRandnum(1,ii)=Randnum1(1,jj);yRandnum(1,ii)=Randnum2(1,jj);ii=ii+1;end jj=jj+1;endplot(xRandnum,yRandnum,.)第31页/共51页第32页/共51页关于随机数的几点注注1 1 由于均匀分布的随机数的产生总是采用某个确定的模型进行的,从理论上讲,总会有周期现象出现的。初值确定后,所有随机数也随之确定

14、,并不满足真正随机数的要求。因此通常把由数学方法产生的随机数成为伪随机数。注2 2 应对所产生的伪随机数作各种统计检验,如独立性检验,分布检验,功率谱检验等等。但其周期又相当长,在实际应用中几乎不可能出现。因此,这种由计算机产生的伪随机数可以当作真正的随机数来处理。第33页/共51页2.设设密度函数为密度函数为1.1.生成单位球内均匀分布的生成单位球内均匀分布的1 1行行1000010000列随机数,并列随机数,并画散点图。画散点图。作业:为常数并画经验分布函数曲线。并画经验分布函数曲线。第34页/共51页3.3.生成三角分布生成三角分布(0,1,2)(0,1,2)的的1 1行行1000010

15、000列随机数,并列随机数,并画散点图。画散点图。作业:并画经验分布函数曲线。并画经验分布函数曲线。第35页/共51页 5.2随机数与随机变量的生成随机数与随机变量的生成 5.2.1随机数的生成随机数的生成 在系统模拟中只要有随机变量,则在模拟运行的每一步中都要对随机变量确定一个具体的值。我们将会遇到各种概率分布的随机变量,但其中最简单或最基本的随机变量是在(0,1)区间上均匀分布的随机变量。服从某一分布的随机变量都可以通过对(0,1)均匀分布的随机变量进行适当转换而得到。(0,1)均匀分布的随机变量的取值也是在(0,1)区间上均匀分布的随机数ui序列(流)的独立采样,其密度函数是ui的数学期

16、望和方差分别为第36页/共51页 因此,若能获得(0,1)均匀分布的随机数,也就能通过对其适当的转换而获得某一规定分布的随机变量的取值,这就是随机变量的生成。为此,首先要掌握(0,1)区间上均匀分布随机数的生成方法。均匀分布随机数必须具备均匀性和独立性的要求;要生成符合上述要求的随机数流,现在多用数学算法来产生,一般是采用递推算法,确定一个初始值(种子数)以后,逐次递推算得随机数流。数学算法获得的随机数、常称之为伪随机数(Pseudo Random Number)序列。数学方法计算产生的随机数流必须满足下列要求:(1)尽可能在(0,1)区间均匀分布;(2)具有统计上的独立性;(3)产生的随机数

17、流能够重复出现,即给以相同的初值(种子数)能获得相同的随机数流;(4)有足够长的周期,即在出现周期性重复之前,能生成足够多个的随机数;(5)算法占用计算机内存较少而计算生成速度较快。目前广泛应用的算法是线性同余法(Linear congruential Method),其中又分为:1混合线性同余法。它是由Lehmer于1951年提出的,其算式为第37页/共51页xi+1=(axi+c)mod m ui+1=xi+1/m式中 a乘数(常数);C增量(常数);x0种子数;m模数。a,c,m和x0的选取对随机数流的统计特性和周期长度有极大影响。上述第一式的含义是式中表示取整数,a,c,m皆为整常数。

18、2、乘法线性同余法。若混合线性同余法中c=0,则为乘法线性同余法,其算式为 x i+1=ax imod m u i+1=xi+1/m (5.7)第38页/共51页可参考选用的数据有:(1)a=16807,m=2147483647,x0=123457;(2)a=655393,m=33554432。5.2.2随机数流的检验随机数流的检验 一、均匀分布性检验一、均匀分布性检验 1参数检验。检验ui的数字特征,如均值、方差的估计值和其理论值的差异是否显著。设有u1,u2,,un随机数流,则它们的 若 ui序列在(0,1)上均匀分布,可假设:u的期望和方差分别为第39页/共51页2的期望和方差分别为则上

19、列假设(810)与(811)应该成立。据此,可对n个ui计算下列统计量若取显著性水平a=005,当|V1|196时。则可认为假设(810)式成立;当|V2|196时,则可认为假设(811)式成立。因而可以接受此假设,检验通过;否则拒绝接受。2均匀性检验。它是检验所生成的随机数落在(0,1)各子区间的频率的均匀程度,是否与理论上的均匀分布频率有显著性差异。此处介绍常用方法之一,x2检验方法如下:将(0,1)区间划分为相等的k个子区间,假如落在第i个(il,2,3,k)子区间的随机数有ni个;而在理论上第i个子区间的随机数个数为mi=Nk,其中 N为随机数流总个数(拟检验的)。由此,可计算 x2统

20、计量第40页/共51页再按k-1为自由度、显著性水平取005,查得2(a)表值。当算得统计量x22(a)时,可认为在显著性水平a下能接受为均匀分布假设。二、独立性检验二、独立性检验独立性检验是检验随机数流中前后各数之间是否存在相关性。常用的方法是进行自相关检验。此外,还有Poker Test和Run检验,一般应用较少。5.2.3随机变量的生成随机变量的生成 一、离散型随机变量的生成一、离散型随机变量的生成离散型随机变量 X,它的取值是非光滑连续的值,它只能间断地即离散地取值x1,x2,x3,xn,且规定x1x2x30.002510.1720.076P0.002520.4230.032P0.00

21、2530.8190.026P0.002540.2550.0066P0.002550.7490.0049P0.00250.2250.0011P0.002510.1720.076P0.002520.4230.032P0.002530.8190.026P0.002540.2550.0066P0.002550.7490.0049P0.00250.2250.0011P0.0025,置X=6 3近近似似计计算算法法。正态分布随机变量也是一种常见的随机变量。由于其分布函数无法积分得到显式,故不能应用逆变换法。可采用如下近似法,也可采用函数变换法。第48页/共51页Z是均值u=0,方差为2=1的近似正态分布;

22、随着n值的增大,近似程度则愈大。实践表明,当取n=12时,近似性已能满意,则有 若要产生均值为u,方差为2的正态分布随机变量 X,则例题:要产生 u=73分钟,2=11.7分2的正态分布随机变量 x,则 先相继产生12个u,比如为 0390,0977,0492,0323,0434,0994 0886,0919,0153,0522,0014,0303 按(834)式,第49页/共51页 5.3随机系统模拟常规操作方法随机系统模拟常规操作方法 5.3.1 时间步长法时间步长法时间步长法的模拟操作过程如图91所示。从图91提示,对时间步长法应注意下述几个要点:(l)首先应进行被模拟系统的系统分析,明

23、确模拟目的,确定系统状态变量和决策变量,包括随机变量,建立模拟数学模型,搜集和确定有关参数、常数等数据,以及随机变量生成算法。(2)建立模拟时钟,即确定一个称作“时钟”的变量T,其初值T。一般定为T0=0,以便对模拟过程进行计时。(3)设定模拟总时间长度,它与时间步长t的确定有关。(4)确定固定的时间步长t值。时间步长t愈小,则愈能较真实地考察、记录到系统的变化过程,但模拟工作量较大,占用机时较多;时间步长t愈大,则可能会遗漏一些系统的演变环节,造成模拟过程和结果的失真。(5)确定模拟开始的系统初始状态及其有关参数值。(6)建立随机数生成算法的子程序,确定其种子数。(7)设计输出模拟结果的要求和方式。(8)用一般高级语言编写模拟程序并调试。第50页/共51页谢谢您的观看!第51页/共51页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com