利用蒙特卡洛(Monte Carlo)方法计算π值[ 转载]
部分转载自: https://blog.csdn.net/daniel960601/article/details/79121055 圆周率π是一个无理数,没有任何一个精确公式能够计算π值,π的计算只能采用近似算法。 国际公认的π值计算采用蒙特卡洛方法。 一、蒙特卡洛方法 蒙特卡洛(Monte Carlo)方法,又称随机抽样或统计试验方法。当所求解的问题是某种事件出现的概率,或某随机变量的期望值时,可以通过某种“试验”方法求解。 简单说,蒙特卡洛是利用随机试验求解问题的方法。 二、π值的计算 构造一个单位正方形和一个单位圆的1/4,往整个区域内随机投入点,根据点到原点的距离判断点是落在1/4的圆内还是在圆外,从而根据落在两个不同区域的点的数目,求出两个区域的比值。如此一来,就可以求出1/4单位圆的面积,从而求出圆周率π。 1. 简化版PI 求解的Python实现(示例一): # pi.py from random import random from math import sqrt from time import clock DARTS = 12000 # 总的实验次数 hits = 0 clock() for i in range(1, DARTS): x, y = random(), random(); dist = sqrt(x**2 + y**2) if dist <=