网站大量收购独家精品文档,联系QQ:2885784924

蒙特卡罗(Monte Carlo)模拟讲义课件.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
17. 蒙特卡罗(Monte Carlo)模拟 蒙特卡罗模拟 必要性 拟蒙特卡罗模拟 应用之一 应用之二 [1] Ahn,S.-H., Lee, H.-W. Lee, H.-M. 2000, JKAS, 33, p29. [2] Zheng Zheng Jordi Miralda-Escude. 2002, ApJ, 578, p33. [3]Watson, A.M. Henney, W.J. 2001, RMxAA, 37, p221. [4]Lorne W. Avery Lewis L. H. , 1968, ApJ, 152, p493. [5]Lawrence J. C., Peter D. N. Jeffery D.S. 1972, ApJ, 176, 439. [6]David A. Neufeld, 1990, ApJ, 350, p216. 产生具有某种分布的随机数 试验粒子数值模拟 算法 (常微分) 模拟结果 * * 蒙特卡罗方法,或称计算机随机模拟方法,是一种基于“随机数”的计算方法。该方法源于美国在WWI后研制原子弹的“曼哈顿计划”。 S. M. Ulam (1908-1984)和该计划的主持人之一、数学家冯·诺伊曼(J.von Neumann )用驰名世界的赌城—摩纳哥的Monte Carlo—来命名这种方法。 其基本思想很早以前就被人们所发现和利用: 17世纪,用事件发生的“频率”来决定事件的“概率”; 19世纪人们用投针试验的方法来决定π。 高速计算机:用数学方法在计算机上大量模拟这样的试验 科技计算及社会中的问题比计算π要复杂得多。比如金融衍生产品(期权、期货、掉期等)的定价及交易风险估算,问题的维数(即变量的个数)可能高达数百甚至数千。对这类问题,难度随维数的增加呈指数增长,这就是所谓的“维数的灾难”(Curse of Dimensionality),传统的数值方法难以对付(即使使用速度最快的计算机)。Monte Carlo方法能很好地用来对付维数的灾难,因为该方法的计算复杂性不再依赖于维数。以前那些本来是无法计算的问题现在也能够计算量。为提高方法的效率,科学家们提出了许多所谓的“方差缩减”技巧。 另一类形式与Monte Carlo方法相似,但理论基础不同的方法—“拟蒙特卡罗方法”(Quasi-Monte Carlo方法)—近年来也获得迅速发展。我国数学家华罗庚、王元提出的“华—王”方法即是其中的一例。这种方法的基本思想是“用确定性的超均匀分布序列(数学上称为Low Discrepancy Sequences)代替Monte Carlo方法中的随机数序列。对某些问题该方法的实际速度一般可比Monte Carlo方法提出高数百倍,并可计算精确度。 /gkjqy/rkx/rd2.htm 许多计算机系统都有随机数生成函数 F90: call random_seed call random_number(a) 计算程序产生的随机数不是真正的随机数,它们是确定的,但看上去是随机的,且能通过一些随机性的检验,故常称为伪随机数 若采用当前时刻作随机数种子,则也是不可重复的 随机数 如 对32位字长的计算机 real procedure random((xi)) integer array (li)n real array (xi)n l0 ? any integer that 1 l0 231-1 for i=1 to n do li =(231-1)除以16807 li-1的余数 xi =li/ (231-1) endfor 其它算法 1. 取初值x0 ? (0,1),let xi be the fractional part of (π+ xi-1)5 2. Let u0 =1. For i=1,2,3,…, let ui be the remainder of (8t-3) ui-1 divided by 28, and xi = ui/2i. Here t can be any large integer 注意:上述随机数序列均具周期性,如上页random子程序的周期约230。 Maple has a collection of random number generators. 如: With(stats) x :=uniform(0..1): seq(x(),i=1..10); Matlab: x=rand(10,1)产生10个随机数 x=rand(N) 产生元素在(0, 1)间随机分布的N*N矩阵 s= rand(‘state’,0

文档评论(0)

琼瑶文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档