蒙特卡洛算法计算圆周率π
时间: 2025-01-07 16:55:58 浏览: 5
### 使用蒙特卡洛方法计算圆周率π
#### 方法概述
蒙特卡洛方法是一种基于随机抽样的数值计算技术,可以用于估算复杂系统的特性。为了估算圆周率π,在单位正方形内绘制一个四分之一的单位圆。通过比较落在圆内的点数与总点数的比例,可推算出π的值。
#### 实现思路
假设有一个边长为1的正方形及其内部的一个半径为0.5的四分之一圆形区域。如果在这个正方形区域内均匀分布大量的随机点,则这些点落入该四分之一圆的概率等于其面积比例,即\( \frac{\pi}{4} \)[^3]。因此,可以通过统计实验中的频率来估计理论上的概率,并由此求得π的近似值。
#### Python代码示例
下面是一段简单的Python程序,它实现了上述描述的过程:
```python
import random
def estimate_pi(num_samples):
inside_circle = 0
for _ in range(num_samples):
x, y = random.uniform(-1, 1), random.uniform(-1, 1)
if (x ** 2 + y ** 2) <= 1:
inside_circle += 1
pi_estimate = (inside_circle / num_samples) * 4
return pi_estimate
print(f'Estimated Pi value with {1_000_000:,d} samples is:', estimate_pi(1_000_000))
```
这段代码定义了一个名为`estimate_pi()`函数,接受参数`num_samples`表示要生成多少个随机样本点来进行测试;接着循环创建指定数量的二维坐标(x,y),并判断它们是否位于以原点为中心、半径为1的圆内;最后根据落在圆内的点占总数目的百分比乘以4得出π的估值[^2]。
阅读全文