蒙特卡洛方法计算π的python代码
时间: 2024-10-23 20:10:37 浏览: 33
蒙特卡洛方法是一种通过随机抽样估算复杂函数积分的数值方法。在Python中,我们可以创建一个简单的程序来估算圆周率π。这里是一个使用随机点落在单位正方形和单位圆内的比例来近似π的常见示例:
```python
import random
def estimate_pi(n):
inside_circle = 0
total_points = 0
for _ in range(n):
x = random.uniform(0, 1)
y = random.uniform(0, 1)
distance_squared = x**2 + y**2
if distance_squared <= 1:
inside_circle += 1
total_points += 1
pi_estimate = 4 * inside_circle / total_points
return pi_estimate
# 调用函数并打印结果
estimated_pi = estimate_pi(1000000) # 可视化调整n值以提高精度
print(f"Estimated value of pi is approximately {estimated_pi}")
```
在这个例子中,我们随机生成许多点 (x, y),如果这些点位于单位圆内(即距离原点1个单位半径范围内),我们就计数。由于圆的面积是πr²,而正方形的面积是边长的平方,所以当圆完全包含在正方形内时,π大约等于4倍的圆内点的比例。
阅读全文