1 / 47

建模与仿真

建模与仿真. 第二章 复杂系统的建模. 第二章 补充材料. 第一节 概述 一 随机数的产生方法 1.均匀分布随机数的产生 产生(0, 1)均匀分布随机数的方法很多,大致可归纳为三大类: 1)利用专门的随机数表。 这种随机数随机性和均匀性较好,但是很难产生和存储足够大的随机数表,而仿真有时需要大量的随机数。. 2)物理方法产生随机数 例如放射粒子计数器,电子管或晶体管噪声发生器等。这种随机数随机性和均匀性都很好,而且可以产生任意多个随机数。缺点是没有可重复性,难以对程序和仿真的正确性作检查。. 3 )数学方法产生随机数

Télécharger la présentation

建模与仿真

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 建模与仿真 第二章 复杂系统的建模 第二章补充材料

  2. 第一节 概述 一 随机数的产生方法 1.均匀分布随机数的产生 产生(0, 1)均匀分布随机数的方法很多,大致可归纳为三大类: 1)利用专门的随机数表。 这种随机数随机性和均匀性较好,但是很难产生和存储足够大的随机数表,而仿真有时需要大量的随机数。

  3. 2)物理方法产生随机数 例如放射粒子计数器,电子管或晶体管噪声发生器等。这种随机数随机性和均匀性都很好,而且可以产生任意多个随机数。缺点是没有可重复性,难以对程序和仿真的正确性作检查。

  4. 3)数学方法产生随机数 常用的方法有:平方取中法和线性同余法。

  5. i.平方取中法: 平方取中法是四十年代由冯·诺依曼和梅特罗波利斯(Von Neuman and Metropolis)提出的。其基本思想是任取一个N位整数作为初值,将初值平方,得到一个2N位的整数,如果初值的平方不是2N位时,高位用0补齐,取中间N位作第一个随机数。

  6. 将第一个随机数平方取中间N位即得第二个随机数,以此类推可得到一系列随机数。平方取中法虽然简单,但周期较短,产生的随机数的统计性质不好,若初值取得不恰当,还会发生退化现象。所以必须注意初值的选取。

  7. ii.线性同余法 当今应用的大多数随机数发生器是采用线性同余法。使用线性同余法必须事先提供三个参数;l,u,m.其迭代公式为: xi+1=(λxi+μ)(mod m)

  8. 其中,i=1,2,…λ≠0 。 这里A称为乘子,μ为增量,m为模。在式中,若给定初值x0(称为种子),就可迭代算出均匀随机数序列x1、x2、……,将它们除以m,即可得到(0,1)区间均匀分布的随机数xi 。

  9. 当μ≠0、λ=1时称为加同余法;当μ=0且λ≠1时,称为乘同余法;当λ≠1且μ≠0时称为混合同余法。乘同余法的迭代公式为:当μ≠0、λ=1时称为加同余法;当μ=0且λ≠1时,称为乘同余法;当λ≠1且μ≠0时称为混合同余法。乘同余法的迭代公式为: xi+1=λxi(mod m)

  10. 例如用乘同余法产生随机数,其中λ=19,m=100,x。=11,按下面步骤计算:例如用乘同余法产生随机数,其中λ=19,m=100,x。=11,按下面步骤计算: 第i步 xi-1 λxi-1 λxi-1(mod m) 1 11 209 9 2 9 171 71 3 71 1349 49 4 49 931 31 5 31 589 89

  11. 由于模数m的位数有限,这使得产生的随机数序列到了一定长度后,总会出现重复循环序列的现象。把重复循环序列的长度称为周期,用L表示(L≤m),要使周期足够的长,必须选择适当的参数λ,x。及m之值。由于模数m的位数有限,这使得产生的随机数序列到了一定长度后,总会出现重复循环序列的现象。把重复循环序列的长度称为周期,用L表示(L≤m),要使周期足够的长,必须选择适当的参数λ,x。及m之值。

  12. 对于二进制计算机,参数m、λ和x。可按下列规则选取。对于二进制计算机,参数m、λ和x。可按下列规则选取。 m的选择:为了获得较长的周期L,希望m取得足够大。当计算机的尾数字长为P时,取m=2P,其最大可能周期L=2P-2,且计算方便,当以m为模操作时,只需作简单的移位操作即可。

  13. A和xo的选择:为了能得到最大可能周期L:2p-2,选λ=8K土3(K为正整数),λ值不宜取得过小,当λ选取得和2p/2接近时,可保证连续产生的两个随机数之间只有弱相关。xo应不为2的倍数,因此选xo为奇数。A和xo的选择:为了能得到最大可能周期L:2p-2,选λ=8K土3(K为正整数),λ值不宜取得过小,当λ选取得和2p/2接近时,可保证连续产生的两个随机数之间只有弱相关。xo应不为2的倍数,因此选xo为奇数。

  14. 一般的通用编程语言都有生成(0,1)之间随机数的函数。一般能够满足要求不太高的仿真要求一般的通用编程语言都有生成(0,1)之间随机数的函数。一般能够满足要求不太高的仿真要求

  15. 二、几种重要的概率分布 先讲一下随机变量的概率分布函数的概念. 随机变量的概率分布函数: 若X是一随机变量,x是任意实数,函数 F(x)=P(X<=x)称为随机变量X的概率分布函数

  16. 对随机变量X的概率分布函数 F(x),若存在非负的函数f(x),使得对任意实数x均有: 则称f(x)为连续型随机变量X的概率密度函数

  17. 常见的几种概率分布如下: 1.均匀分布

  18. 2.正态分布(高斯分布) 1 f(x)= 2πσ

  19. 3指数分布 X的概率分布函数为

  20. X的概率分布函数为

  21. 前面几种分布都是连续性随机变量的概率分布,下面的是离散型随机变量的概率分布。前面几种分布都是连续性随机变量的概率分布,下面的是离散型随机变量的概率分布。 4.泊松分布 若离散型随机变量的概率分布为

  22. 其中λ>0为常数,则称X服从参数为λ的泊松分布,记作X~Poisson(λ).其中λ>0为常数,则称X服从参数为λ的泊松分布,记作X~Poisson(λ). 参数为λ的泊松分布随机变量的均值及方差都是λ,其概率分布图形如下:

  23. 泊松分布常见于排队服务系统中,t时间内到达系统的顾客数目X服从参数为λ的泊松分布,即泊松分布常见于排队服务系统中,t时间内到达系统的顾客数目X服从参数为λ的泊松分布,即

  24. 这种顾客到达模式又称为最简单流。它满足下面的三个条件:这种顾客到达模式又称为最简单流。它满足下面的三个条件: 1)平稳性:在某个时间区间内,有k个顾客到达的概率仅与时间间隔长短有关,而与这段时间的起点无关。 2)无后继性:在某个时间区间内,到达的顾客数目与以前来到的顾客数目无关,也不影响以后到达的顾客数目。 3)普通性:不可能有两个或两个以上顾客同时到达系统。

  25. 三、非均匀分布随机数的产生 均匀分布随机数是随机数中最简单和最基本的。借助于均匀分布随机数可以产生出其它分布的随机数。

  26. 已知一个随机变量的概率分布函数,可借助于(0,1)区间上均匀分布随机数来产生具有已知概率分布的随机数。用这种方法产生随机数的过程中要用到概率分布函数的逆函数,所以称作逆变换法。逆变换法既可用于连续随机数的产生,也可用于离散随机数的产生。已知一个随机变量的概率分布函数,可借助于(0,1)区间上均匀分布随机数来产生具有已知概率分布的随机数。用这种方法产生随机数的过程中要用到概率分布函数的逆函数,所以称作逆变换法。逆变换法既可用于连续随机数的产生,也可用于离散随机数的产生。

  27. 连续随机数 设需要产生分布函数为F(x)的连续随机数X,若已有(0,1)区间上均匀分布随机数R,则产生x的逆变换公式为:F(x)=r 即x=F-1(r)

  28. 这个式子)的直观意义如下图所示。若给定(0,1)区间均匀随机数R的一个值ri,则按曲线x=F-1(r)可以在x轴上取得相应的xi= F-1(ri)。对于一系列(0,1)区间均匀分布随机数ri (i=1,2,…,n)可以在x轴上得到n个相应 点x

  29. 例如要产生(a,b)区间均匀分布随机数,由于(a,b)区间均匀分布随机变量X的概率密度函数和概率分布函数分别为:例如要产生(a,b)区间均匀分布随机数,由于(a,b)区间均匀分布随机变量X的概率密度函数和概率分布函数分别为:

  30. 令r=(x-a)/(b-a) (0≤r≤1) 则:x=F-1(r)=a+(b-a)r 所以要产生(a,b)区间均匀分布随机数,只须按此式编一子程序,并调用(0,1)区间上的均匀分布随机数产生子程序即可。

  31. 又例如要产生参数为λ的指数分布随机数,由于指数分布随机变量X的概率分布函数为:又例如要产生参数为λ的指数分布随机数,由于指数分布随机变量X的概率分布函数为:

  32. 则:x=F-1(r)=-1/λln(1-r) 其中,r是(0,1)区间上的均匀分布随机数,那么(1一r)也是(0,1)区间上均匀分布随机数,故伤式可简化为:x= -1/λlnr 指数分布随机数的均值为1/λ,若λ=1,则x= - lnr

  33. 再看如何产生参数为m的韦伯尔分布的随机数,服从韦伯尔(Weibull)分布的随机变量X的概率分布函数为:再看如何产生参数为m的韦伯尔分布的随机数,服从韦伯尔(Weibull)分布的随机变量X的概率分布函数为:

  34. 若r*是(0,1)区间均匀分布的随机数,则1- r*也是(0,1)区间均匀分布随机数,故令r=1- r*,r=e-xm有: x=(-lnr)1/m

  35. 离散随机数 上述方法也可用来产生离散分布的随机数x,设X的可能取值为xi,其密度函数为: pk=P(X=xk), k=1,2,3,... 其分布函数为:

  36. 用此方法产生离散分布随机数的实现过程是;先产生(0,1)区间均匀分布随机数r,再计算满足下式的K值,则xk即为所需随机数。用此方法产生离散分布随机数的实现过程是;先产生(0,1)区间均匀分布随机数r,再计算满足下式的K值,则xk即为所需随机数。 F(xk-1)<r≤F(xk)

  37. 下图是用逆变换产生离散分布随机数的示意图。下图是用逆变换产生离散分布随机数的示意图。

  38. 同时也不难看出,按上法产生的离散分布随机数的密度函数为pk同时也不难看出,按上法产生的离散分布随机数的密度函数为pk P(x=xk)=P[F(xk-1) <r≤F(xk)]=F(xk)-F(xk-1)=pk a) 产生取值可能为0,1,2,3,4的离散分布随机数,其密度函数为

  39. pk=(k+1)/15 k=0,1,2,3,4

  40. 该随机数的分布函数示于上图,从图中可见,每产生一个(0,1)区间的均匀随机数r,将它依次与F(xk)(k=0,1,2,3,4)相比较,若它位于F(xk-1)与F(xk)之间,则k即为所需的一个随机数。该随机数的分布函数示于上图,从图中可见,每产生一个(0,1)区间的均匀随机数r,将它依次与F(xk)(k=0,1,2,3,4)相比较,若它位于F(xk-1)与F(xk)之间,则k即为所需的一个随机数。

  41. b) 几何分布随机数的产生 生态学中所处理的概率分布,大多数是所谓离散型随机变量的分布(即只取0或正的整数值)。

  42. 几何分布随机变量的概率密度函数为:

  43. 可以简单地计算得: F(x)=1-qx+1 由上式可得:[1-F(x)]/q=qx 左边是一个最大值为1(x=0),最小值为0(x=∞)的在区间[0,1]上的分布。假定r为区间[0,1]上均匀分布的随机数,r= qx,则由给定的q及r计算x=lnr/lnq。

More Related