Python 使用蒙特·卡罗方法计算圆周率近似值
时间: 2024-01-27 17:06:27 浏览: 66
用蒙特卡洛方法计算圆周率
5星 · 资源好评率100%
好的,我可以为你解答这个问题。
蒙特·卡罗方法是一种随机模拟的方法,可以用来估计圆周率的近似值。具体方法如下:
1. 假设有一个正方形,边长为2,以原点为中心。这个正方形内切一个圆,圆的半径为1。
2. 随机生成一些点,落在正方形内的概率为1,落在圆内的概率为圆面积与正方形面积之比,即π/4。
3. 统计落在圆内的点数和总点数,计算π的近似值:π ≈ 4 * (落在圆内的点数 / 总点数)。
下面是用Python实现这个方法的示例代码:
```python
import random
def estimate_pi(n):
num_inside_circle = 0
for _ in range(n):
x, y = random.uniform(-1, 1), random.uniform(-1, 1)
if x**2 + y**2 <= 1:
num_inside_circle += 1
return 4 * num_inside_circle / n
print(estimate_pi(1000000))
```
这个代码中,estimate_pi函数的参数n表示生成的点的数量,越大则估计的结果越精确。运行这个代码,输出的结果就是圆周率的近似值。
阅读全文