- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
王洪彬蒙特卡洛(MonteCarlo)整理ppt
蒙特卡罗(Monte Carlo)方法 ——简介及算法实现(C++版Java版) 物理学院 0510267 王洪彬 蒙特卡洛法是什么? 蒙特卡洛(Monte Carlo)方法,或称计算机随机模拟方法,是一种基于“随机数”的计算方法。这一方法源于美国在第二次世界大战中研制原子弹的“曼哈顿计划”。该计划的主持人之一、数学家冯·诺伊曼用驰名世界的赌城—摩纳哥的Monte Carlo—来命名这种方法,为它蒙上了一层神秘色彩。 Monte Carlo方法的基本思想很早以前就被人们所发现和利用。早在17世纪,人们就知道用事件产生的“频率”来近似事件的“概 率”。 19世纪人们用投针试验的方法来决定圆周率π。本世纪40年代电子计算机的出现,特别是近年来高速电子计算机的出现,使得用数学方法在计算机上大量、快速地模拟这样的试验成为可能。 考虑平面上的一个边长为1的正方形及其内部的一个形状不规则的“图形”,如何求出这个“图形”的面积呢?Monte Carlo方法是这样一种“随机化”的方法:向该正方形“随机地”投掷N个点,若有M个点落于“图形”内,则该“图形”的面积近似为M/N。 #includeiostream.h #includestdlib.h #includetime.h const long N=2000000000; /*定义随机点数*/ void main() { int n = 0; double x, y; /*坐标*/ srand(time(00)); for(int i=1;i=N;i++) { x=(double)rand()/RAND_MAX; y=(double)rand()/RAND_MAX; /*在0~1之间产生一个随机x,y坐标*/ if(x*x+y*y=1.0) n++; /*统计落入单位圆中的点数*/ } coutThe PI is 4*(double)n/Nendl; /*计算出π的值*/ } 计算机模拟实验数据处理 实验简评 由实验结果知 此结果与我们前面给的值相差太大。方法不是很好,但可以通过扩大随机测试值来获得更精确的结果。 注:实验中我应用了“iomanip.h”中的setprecision(int);来设置输出精度。 一道积分题 我做过一道证明积分不等式的题: 我想中间的积分值可以用蒙特卡洛法求得 因为它是一个二重积分,其几何直观为一 个立体的体积,很巧的是它可以完全包含 于一个棱长为1的正方体中,我们在其中产 生随机点,其中落于所求体积的点数与正 方体中产生的点数之比即为所求的积分值。 下面是它的C++代码: 两端的界值 下面是一次运行结果: 恰好界于0.496466325949717和0.766666666666667之间 下面是我编写的Java程序,其实现方法与我编写的C++程序是相同的: 蒙特卡洛方法是一种比较粗糙的计算方法,它与其说是一种数学的方法,不如看成一种实验方法; 有的时候人们不得不依赖于此种方法。一来人们的才智不够,二来它的确在某些方面给我们知识; 但不可否认对于可控参数比较少的情况,蒙特卡洛法不失为一个对研究对象获得认识的一个有效方法; 从计算来说,用蒙特卡洛法计算值确实粗糙,我们一般用更好的方法来计算。比如说级数的方法,下面是我用级数的方法编的C++和Java程序: Game Over! * 圆周率的值 π = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 3751058209 74944 59230 78164 06286 20899 86280 34825 34211 7067982148 08651 32823 06647 09384 46095 50582 23172 53594 0812848111 74502 84102 70193 85211 05559 64462 29489 54930 3819644288 10975 66593 34461 28475 64823 37867 83165 27120 1909145648 56692 34603 48610 45432 66482 13393 60726 02491 4127372458 70066 06315 58817 48815 20920 96282 92540 91715 3643678925 90360 01133 05
文档评论(0)