



估算圆周率π是介绍蒙特卡罗方法的一个常用例子。在这里,借用3.2节介绍的投点计算积分的办法。首先,在圆的周围,创建一个以圆心为中心、以直径为边长的正方形。其次,在这个正方形区域内产生足够多的数据点。最后,统计圆内的数据点个数与总数据点个数的比值,这个比值即为圆面积和正方形面积之比—π:4,进一步可以得到圆周率π的值,如下式所示。
下面的代码,就是通过上述方法估算圆周率。
圆周率估算结果如下。
图3-6为不同的模拟次数估计的圆周率,随着次数的增加,估计得到的圆周率也更加精确。
图3-6 蒙特卡罗模拟估算圆周率