利用蒙特卡罗方法计算圆周率
目录
蒙特卡罗方法是一种计算方法。原理是通过大量随机样本,去了解一个系统,进而得到所要计算的值。
圆周率的标准公式
在讲蒙特卡罗方法之前,先了解一下圆周率的近似计算公式。
|
|
结果
|
|
蒙特卡罗方法计算
蒙特卡罗方法是一种计算方法。原理是通过大量随机样本,去了解一个系统,进而得到所要计算的值。
它非常强大和灵活,又相当简单易懂,很容易实现。对于许多问题来说,它往往是最简单的计算方法,有时甚至是唯一可行的方法。
它诞生于上个世纪40年代美国的"曼哈顿计划”,名字来源于赌城蒙特卡罗,象征概率。 对于圆周率的计算,在一个正方形内部,随机产生10000个点(即10000个坐标对 (x, y)),计算它们与中心点的距离,从而判断是否落在圆的内部。
如果这些点均匀分布,那么圆内的点应该占到所有点的 π/4,因此将这个比值乘以4,就是π的值。 下面通过python来实现
|
|
DARTS 的值越大,运算时间越长
|
|
蒙特卡罗方法应用的范围非常广泛。以后有机会再去深入学习。
参考资料:Python语言程序设计基础(第2版)》嵩天、礼欣、黄天羽著,高等教育出版社,2017.2(讲授Python 3版本)