IOS研究之蒙特卡罗法求圆周率π(PI)(
来源:互联网 发布:win10安装软件 知乎 编辑:程序博客网 时间:2024/06/06 06:56
[摘录自百度百科]蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。与它对应的是确定性算法。蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。上章研究了Property List详解需要了解的可以看看。
下面介绍使用蒙特·卡罗方法求解圆周率PI的方法。
算法模型:
假设有一个1单位边长的正方形,我们再以该正方形的一个顶点为圆点,以1单位为半径做一个1/4圆弧,如图。
根据圆形面积公式可是:s=πr^2=π。而1/4的圆弧则为s/4=π/4。而正方形面积为1。
我们假设这样一个情景:限定有一些随机的点落在该正方形内,点的个数为n,而落在圆弧内的点为m(如何判断一个点在圆内还是圆弧外呢?因为圆弧上的点距离圆心正好是半径1,所以距离圆心小于1的就在圆内,比如图中的蓝色点,而红色点在圆外),则如果点数足够多的话,会于正方形和圆弧的面积有关,即有:1/4圆弧面积除以正方形面积=π/4=m/n.
则有:π=4*m/n。
如果用计算机模拟大量的随机数,则会计算出比较精确的π。
下面是蒙特·卡罗方法求π的C语言实现。
0 0
- IOS研究之蒙特卡罗法求圆周率π(PI)(
- 计算圆周率 Pi (π)值
- 计算圆周率 Pi (π)值
- 圆周率PI
- 圆周率 π 的研究
- OpenMP之数值积分(求圆周率Pi)(sections)
- 圆周率PI的求法
- 估算圆周率 Estimate PI
- 蒙特卡洛求圆周率PI
- 蒙特卡洛法求圆周率pi
- OpenMP 之reduction 子句求数值积分圆周率(pi)(学习笔记)
- OpenMP 之 临界区 求数值积分圆周率(pi)(学习笔记)
- 计算圆周率 Pi (π)值, 精确到小数点后 10000 位
- 蒙特卡罗算法计算圆周率PI(C++)
- 圆周率PI的高精度计算(C/C++)
- 用概率模拟法求圆周率pi
- 蒙特卡洛算法——投点求圆周率Pi
- 4_蒙特卡罗算法求圆周率PI
- widget,MainWindow和Dialog的选择使用
- 金立的Gpad G2
- 【转】Vim入门基础
- 栈的C数组实现
- asp.net webconfig文件详解
- IOS研究之蒙特卡罗法求圆周率π(PI)(
- 在SDK Manager中下载不同版本的Android时很慢或者失败
- hdoj.2005 第几天? 20140721
- Android判断当前正在通话(电话呼入)的状态
- 指针的编程艺术(二)
- 似欢暮匠勾良迟账允霉墙
- 理解接口
- 怂揪搪滓匚礁谡锹匚亚衅
- 运动传感器市场前景广阔,2011年将达到11十亿U.S.美元 - 运动传感器 - 电学