- 1、本文档共100页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 随机数产生原理 一、引言 二、伪随机数产生原理 三、[0,1]均匀分布随机数的算法 四、其他分布随机数的产生 五、正态分布随机数的产生 六、MATLAB统计库中的随机数发生器 七、随机数的检验 八、案例3 九、习题 一、引言 以随机数产生为基础的Monte-Carlo方法已成为现代科研的重要手段之一。其意义早以超出了概率论与数理统计的范畴。广泛应用于计算方法、随机数规划、管理科学、物理化学中的高分子结构的研究等领域。我们来看一些例子。 链的末端距 末端距:空间一链的末端与始端的距离为末端距,由于我们将始端放在坐标原点,所以末端距的 计算公式为: 末端距=(X2+Y2+Z2)1/2 这里X,Y,Z为链的末端点的坐标。 显然末端距随链的不同而不同,即为随机变量。 二、伪随机数产生原理 前面Monte-Carlo方法的例子是以高质量的随机数为基础的。通过完全的随机抽样或调查可以产生随机序列。 当我们用Monte-Carlo方法研究一个实际问题时,我们需要快速地获得大量的随机数。用计算机产生这样的随机数是非常方便的,用数学方法在计算机上产生的随机数称为伪随机数。 三、 (0,1)均匀分布随机数的产生 1、算法要求 (1)?????? 产生的数值序列要具有均匀总体简单子样的一些概率统计特性,通常包括分布的均匀性,抽样的随机性,试验的独立性和前后的一致性。 (2) 产生的随机数要有足够长的周期。 (3) 产生随机数速度快,占用内存小。 四、其他分布随机数的产生 1、 直接抽样法 由基本定理我们知道,对于有些随机变量可以建立与R的函数关系,因此只需对R进行抽样,利用函数的映射关系我们就可以方便地得到该随机变量的抽样了。如前面的指数分布随机数。 2、变换抽样 产生随机变量的变换抽样方法,是讨论均匀分布的不同函数分布,为随机变量抽样提供一些简单可行的算法。在概率论中,从不同的角度出发,对随机变量函数进行了讨论,以下列出一些结果。 五、正态分布随机数的产生 正态分布在数理统计中具有基础性的作用,因此产生高质量的正态分布有重要的 意义,这一节我们将介绍几种数值方法求正态分布,利用中心极限定理产生正态分布的随机数。 六、利用统计工具箱产生随机数 在MATLAB统计工具箱中为我们提供了大量的产生各种随机数发生器程序,我们只需要调用就可以产生我们想要的随机数。 七、随机数的检验 我们已经基本搞清伪随机数的产生原理,由于并不是真正的随机数,很自然的问题是,它们是否具有真正随机数的那些统计性质如参数大小、独立性,均匀性等等。 设:随机数具有连续的分布函数F(X),则随机变量R=(X)是均匀分布(0,1)的随机变量,因此如果R通过统计检验随机变量 X 也可以通过。因此我们以下着重讨论均匀分布R的检验问题,再简单地讨论正态随机数检验问题。 八、案3例 – 随机数检验 用计算机放一组[0,1]均匀分布样本(N = 1000),进行十二类统计检验,共61个统计量。进行以下检验。 1.奇序列的1—4矩检验 2.偶序列的1—4矩验检 3.全序列的1—4矩验检 4.混合矩检验 5.延迟1—7的相关检验 6.分布均匀性检验 7.连检验 8.随机数的函数检验 9.顺序统计量检验 10.组合规律 11.模型计算检验 12.子样间的K—S检验 九、习题 1、编制一个界面,产生(0,1)均匀分布随机数,并检验其61个统计量性质。 2、用同余法产生(0,1)均匀分布随机数发生器,比较系数不同检验随机数升秒度个效果。 3、? 用“菲波那西”数列产生(0,1)均匀分布随机数发生器,并检验。 4、利用中心极限定理产生标准正态分布随机数,并进行检验。 5、Hasiting 有理逼近法,产生正态分布随机数发生器,并进行检验。 制作界面思路: 1)规划界面布局 2)拉出各种统计量的edit界面 3)拉出图形界面 4)拉出pushbutton按纽,注意所有的动作程序都在该按纽子程序下:例如: function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) n=str2num(get(handles.edit_num,String)); R=rand(1,n)
文档评论(0)