首页 > 学院 > 开发设计 > 正文

对蒙特卡罗方法的理解

2019-11-06 08:41:57
字体:
来源:转载
供稿:网友

首先直观上理解: 1.第一个例子:π的计算,如何用蒙特卡罗方法计算圆周率π。 正方形内部有一个相切的圆,它们的面积之比是π/4。 这里写图片描述

现在,在这个正方形内部,随机产生10000个点(即10000个坐标对 (x, y)),计算它们与中心点的距离,从而判断是否落在圆的内部。 这里写图片描述 如果这些点均匀分布,那么圆内的点应该占到所有点的 π/4,因此将这个比值乘以4,就是π的值。通过R语言脚本随机模拟30000个点,π的估算值与真实值相差0.07%。

2.积分的计算 上面的方法加以推广,就可以计算任意一个积分的值。 这里写图片描述 比如,计算函数 y = x2 在 [0, 1] 区间的积分,就是求出下图红色部分的面积。 这里写图片描述 这个函数在 (1,1) 点的取值为1,所以整个红色区域在一个面积为1的正方形里面。在该正方形内部,产生大量随机点,可以计算出有多少点落在红色区域(判断条件 y < x2)。这个比重就是所要求的积分值。 用Matlab模拟100万个随机点,结果为0.3328。

3.这里写图片描述 这里写图片描述

理论上解释: 针对射击问题的那个例子,对下述理论就比较好理解了。 这里写图片描述

参考: http://www.ruanyifeng.com/blog/2015/07/monte-carlo-method.html http://www.docin.com/p-429765423.html http://blog.csdn.net/itplus/article/details/19168937


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表