蒙特卡洛算法 python实现
时间: 2023-08-01 21:13:49 浏览: 140
蒙特卡洛算法是一种基于随机采样的数值计算方法,其原理是通过随机采样的方式近似计算复杂问题的解。下面是一个使用Python实现蒙特卡洛算法的示例代码:
```python
import random
def monte_carlo_pi(num_samples):
inside_circle = 0
for _ in range(num_samples):
x = random.uniform(-1, 1)
y = random.uniform(-1, 1)
distance = x**2 + y**2
if distance <= 1:
inside_circle += 1
pi_estimate = 4 * inside_circle / num_samples
return pi_estimate
# 示例调用
num_samples = 1000000
pi_estimate = monte_carlo_pi(num_samples)
print(f"估算的圆周率为: {pi_estimate}")
```
在这个示例中,`monte_carlo_pi` 函数使用了随机采样来估算圆周率。它首先生成一个坐标 (x, y),其中 x 和 y 的值分别在 -1 和 1 之间均匀分布。然后,通过计算点到原点的距离,判断点是否在一个单位半径的圆内。最后,通过统计在圆内的点的数量,计算得到圆周率的估算值。
请注意,蒙特卡洛算法是一种近似计算方法,其估算结果的精确性取决于采样数量的多少。通常情况下,采样数量越大,估算结果越接近真实值。
阅读全文