蒙特卡洛法求定积分 Python
时间: 2023-07-05 13:09:35 浏览: 114
python编程通过蒙特卡洛法计算定积分详解
5星 · 资源好评率100%
蒙特卡洛方法是一种常见的数值积分方法,其思路是通过生成一定数量的随机样本,来估算定积分的值。在 Python 中,可以通过以下代码实现:
```python
import random
def monte_carlo_integration(f, a, b, n):
s = 0
for i in range(n):
x = random.uniform(a, b)
s += f(x)
return (b-a)*s/n
# 测试
def f(x):
return x**2
a, b = 0, 1
n = 1000000
result = monte_carlo_integration(f, a, b, n)
print("积分结果为:", result)
```
其中,`f` 是被积函数,`a` 和 `b` 是积分区间,`n` 是随机样本数量。函数 `monte_carlo_integration` 中,通过循环生成 `n` 个 $[a,b]$ 区间内的随机数 `x`,并对每个 `x` 计算 `f(x)` 的值,将这些值累加起来。最后,返回 $[a,b]$ 区间内的面积估计值 `(b-a)*s/n`。
阅读全文