用Python编写蒙特卡洛积分程序
时间: 2023-11-16 22:15:31 浏览: 30
好的,下面是一个简单的蒙特卡洛积分的Python程序:
```python
import random
def monte_carlo_integrate(f, a, b, n):
"""
使用蒙特卡洛方法求定积分
:param f: 被积函数
:param a: 积分下界
:param b: 积分上界
:param n: 抽样点数
:return: 积分结果
"""
s = 0
for i in range(n):
x = random.uniform(a, b)
s += f(x)
return (b - a) * s / n
if __name__ == '__main__':
f = lambda x: x ** 2 + 1 # 定义被积函数
a = 0 # 积分下界
b = 1 # 积分上界
n = 10000 # 抽样点数
result = monte_carlo_integrate(f, a, b, n)
print("积分结果:", result)
```
在这个程序中,我们使用了Python内置的随机数生成器模块`random`,然后定义了一个`monte_carlo_integrate`函数,用于计算积分结果。在该函数中,我们首先定义了一个累加器`s`,并通过`for`循环来抽取`n`个随机点。然后,我们对这些点进行求和,并计算出积分结果。
在程序的主函数中,我们定义了被积函数`f`,积分下界`a`,积分上界`b`,以及抽样点数`n`,然后调用`monte_carlo_integrate`函数来计算积分结果,并将结果打印出来。