蒙特卡洛 python
时间: 2023-10-28 10:57:56 浏览: 82
三门问题蒙特卡洛python代码
蒙特卡洛方法是一种通过随机抽样来解决问题的数值计算方法,它可以用于估计数学问题的概率或数值结果。在 Python 中,我们可以使用随机数生成器来实现蒙特卡洛模拟。
下面是一个使用蒙特卡洛方法估计圆周率π的示例代码:
```python
import random
def estimate_pi(num_points):
points_inside_circle = 0
points_total = 0
for _ in range(num_points):
x = random.uniform(0, 1)
y = random.uniform(0, 1)
distance = x**2 + y**2
if distance <= 1:
points_inside_circle += 1
points_total += 1
pi_estimate = 4 * points_inside_circle / points_total
return pi_estimate
num_points = 1000000
pi = estimate_pi(num_points)
print("Estimated value of pi:", pi)
```
在这个示例中,我们生成了大量的随机点,并检查每个点是否在单位圆内(通过计算点到原点的距离)。然后,通过统计在圆内的点和总点数的比例,可以估计出圆的面积。由于单位圆的面积为π,我们可以乘以4得到π的估计值。
注意,由于蒙特卡洛方法是基于随机抽样的,所以结果并不是精确的,而是一个近似值。为了获得更准确的估计,可以增加生成点的数量(`num_points`)。
阅读全文