蒙特卡洛法计算圆周率π(Python)
2021/10/6 17:40:53
本文主要是介绍蒙特卡洛法计算圆周率π(Python),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1 import random 2 i = 0 3 numin = 0 4 numall = 0 5 while 1: 6 i += 1 7 numall += 1 8 x = random.uniform(-5,5) 9 y = random.uniform(-5,5) 10 if y*y+x*x <= 25: 11 numin += 1 12 if i % 50000 == 0: 13 print(4.0*numin/numall)
蒙特卡洛法计算圆周率计算原理直观。如图所示(图来自网络),假设有一个正方形,我们做它的内切圆,设内切圆的半径是r,那么内切圆面积是πr*r,正方形面积是4*r*r,圆的面积/正方形面积=π/4。随机向正方形平面射点,当点的数量足够多,我们可以看做落在圆上的点的数量代表圆的面积、所有的点代表正方形面积,因此,落在圆上的点的数量/所有的点数量=π/4。π因此得以算出。
此方法效率很低,本人在单线程的情况下运行5小时才精确到3.14159。
这篇关于蒙特卡洛法计算圆周率π(Python)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-28Python编程基础教程
- 2024-12-27Python编程入门指南
- 2024-12-27Python编程基础
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型
- 2024-12-23使用python部署一个usdt合约,部署自己的usdt稳定币
- 2024-12-20Python编程入门指南