数学建模算法之蒙特卡罗方法-原理编程及应用论文..pdfVIP

数学建模算法之蒙特卡罗方法-原理编程及应用论文..pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数学建模算法之蒙特卡罗方法-原理编程及应用论文.

数学建模算法之蒙特卡罗方法——原理、编程及应用 一、前言 1946年,美国拉斯阿莫斯国家实验室的三位科学家JohnvonNeumann,Stan Ulam和Nick Metropolis共同发明了蒙特卡罗方法。此算法被评为20世纪最伟 大的十大算法之一。 蒙特卡罗方法 (Monte Carlo method),又称随机抽样或统计模拟方法,是 一种以概率统计理论为指导的一类非常重要的数值计算方法。此方法使用随机数 (或更常见的伪随机数)来解决很多计算问题的方法。 由于传统的经验方法由于不能逼近真实的物理过程,很难得到满意的结果, 而蒙特卡罗方法由于能够真实地模拟实际物理过程,故解决问题与实际非常符合, 可以得到很圆满的结果。 二、蒙特卡罗方法的基本原理以及思想 1、蒲丰投针实验 其基本思想源于法国数学家蒲丰提出著名的蒲丰投针实验,并以该方法求圆 周率。 为了求得圆周率π值,在十九世纪后期,有很多人作了这样的试验:将长为 2l的一根针任意投到地面上,用针与一组相间距离为2a (l<a)的平行线相交 的频率代替概率P,再利用准确的关系式: 2 l 2l 2l N P   ( )  a aP a n 求出π值。其中N为投针次数,n为针与平行线相交次数。这就是古典概率论中 著名的蒲丰氏问题。 2、射击问题 设r表示射击运动员的弹着点到靶心的距离,g(r)表示击中r处相应的得 分数 (环数),f(r)为该运动员的弹着点的分布密度函数,它反映运动员的射击 水平。则该运动员的射击成绩为   g  0 g(r)f (r)dr   用概率语言来说,g是随机变量g(r)的数学期望,即  g  E g ( r) 当所求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时, 通过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的概率,或 者得到这个随机变量的某些数字特征,并将其作为问题的解。有一个例子可以使 你比较直观地了解蒙特卡洛方法: 假设我们要计算一个不规则图形的面积,那么图形的不规则程度和分析性计 算 (比如,积分)的复杂程度是成正比的。蒙特卡洛方法是怎么计算的呢?假想 你有一袋豆子,把豆子均匀地朝这个图形上撒,然后数这个图形之中有多少颗豆 子,这个豆子的数目就是图形的面积。当你的豆子越小,撒的越多的时候,结果 就越精确。在这里我们要假定豆子都在一个平面上,相互之间没有重叠。 蒙特卡罗方法通过抓住事物运动的几何数量和几何特征,利用数学方法来加 以模拟,即进行一种数字模拟实验。它是以一个概率模型为基础,按照这个模型 所描绘的过程,通过模拟实验的结果,作为问题的近似解。 蒙特卡罗方法与一般计算方法有很大区别,一般计算方法对于解决多维或因 素复杂的问题非常困难,而蒙特卡罗方法对于解决这方面的问题却比较简单。其 特点如下: 直接追踪粒子,物理思路清晰,易于理解。 采用随机抽样的方法,较真切的模拟粒子输运的过程,反映了统计涨落的规律。 不受系统多维、多因素等复杂性的限制,是解决复杂系统粒子输运问题的好方 法。 三、蒙特卡罗方法的编程 计算阴影部分面积。 一个古人要求一个图形的面积,他把图形画在一块方形布上,然后找来一袋 豆子,然后将所有豆子洒在布上,落在图形内豆子的重量比上那块布上所有豆子 的重量再乘以布的面积就是他所要求的图形的面积。 两种编程思路来计算这个面积: 方法一:将整个坐标轴看成一个边长为12的正方形,然后均匀的这个正方 形分成N (N 的大小取决于划分的步长)个点,然后找出N个点中有多少个点是 属于阴影部分中,假设这个值为k,则阴影部分的面积为:k/N*12^2 方法二:将整个坐标轴看成一个边长为12的正方形,然后在 (-6,6)中随 机出N (N越大越好,至少超过1000)个点,然后找出这N个点中有多少个点在 阴影区域内,假设这个值为k,则阴影部分的面积为:k/N*12^2。然后重复这个 过程100次,求出100次面积计算结果的均值,这个均值为阴影部分面积。 对比分析:以上两个方法都是利用蒙特卡罗方法计算阴影部分面积,只是在 处理的细节有一点区别。前者是把豆子均匀

文档评论(0)

a888118a + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档