Python用蒙特卡罗方法求解π
时间: 2024-09-29 11:05:54 浏览: 54
在Python中,可以使用蒙特卡罗方法(Monte Carlo Method)来估算圆周率π。这种方法基于投点概率论,通过在一个正方形内随机生成大量的点,并计算落在单位圆内的点的比例,然后将这个比例乘以4,就可以得到π的近似值。
以下是简单的步骤:
1. 创建一个正方形区域,比如一个边长为2的正方形。
2. 在正方形内部生成大量随机坐标(x, y),这些坐标都是在0到1之间的浮点数。
3. 计算每个点到原点的距离是否小于等于1,如果小于等于1则该点落在了单位圆内。
4. 统计落在圆内的点的数量(记作`circle_count`),以及总点数(记作`total_points`)。
5. π的近似值π ≈ 4 * (`circle_count` / `total_points`)。
下面是一个Python代码示例:
```python
import random
def estimate_pi(n):
circle_count = 0
for _ in range(n):
x = random.uniform(0, 1)
y = random.uniform(0, 1)
if x**2 + y**2 <= 1:
circle_count += 1
return 4 * circle_count / n
# 要求的点的数量
n_points = int(1e6) # 比如100万
pi_estimate = estimate_pi(n_points)
print(f"Estimate of pi: {pi_estimate}")
阅读全文