采用蒙特卡洛平均法估算圆周率python
时间: 2024-11-21 10:25:35 浏览: 9
蒙特卡洛方法是一种统计模拟技术,用于估算复杂问题的概率分布或数值解。在Python中,我们可以用它来估算圆周率π,因为圆的一个重要性质是其面积(πr²)与内接正方形边长(2r)的关系。如果我们随机投掷点到正方形区域,然后计算落在圆内的点的比例,这个比例会趋近于π/4。
以下是一个简单的Python代码示例,使用Monte Carlo方法估算π:
```python
import random
import math
def estimate_pi(n_samples):
num_points_in_circle = 0
total_points = 0
for _ in range(n_samples):
x = random.uniform(0, 1)
y = random.uniform(0, 1)
distance = math.sqrt(x**2 + y**2)
if distance <= 1:
num_points_in_circle += 1
total_points += 1
estimated_pi = 4 * (num_points_in_circle / total_points)
return estimated_pi
# 例如,我们想要估计1000000次投掷的结果
n_samples = 1000000
pi_estimate = estimate_pi(n_samples)
print(f"Estimated value of pi after {n_samples} trials is: {pi_estimate}")
```
阅读全文