python使用蒙特卡洛算法计算圆周率
时间: 2023-10-24 12:21:47 浏览: 150
用蒙特卡洛方法计算圆周率
5星 · 资源好评率100%
蒙特卡洛算法是一种基于随机采样的数值计算方法,可以用来估算圆周率。其基本思路是,在一个正方形内随机生成大量的点,然后统计落在一个半径为正方形边长的1/4圆内的点的数量,最终用这个数量除以总点数再乘以4,就可以得到一个近似的圆周率值。
下面是一个使用 Python 实现蒙特卡洛算法计算圆周率的例子:
```python
import random
# 设置随机数种子
random.seed(2021)
# 总点数
n = 1000000
# 在正方形内随机生成点的坐标,坐标范围为[-1, 1]
points = [(random.uniform(-1, 1), random.uniform(-1, 1)) for _ in range(n)]
# 统计落在1/4圆内的点的数量
count = sum(1 for x, y in points if x**2 + y**2 <= 1)
# 计算圆周率
pi = 4 * count / n
print(pi)
```
运行结果可能会有所不同,但是通常会接近于3.1416,即圆周率的近似值。需要注意的是,随着点数的增加,计算结果会变得更加准确,但同时也会增加计算时间。
阅读全文