求问如何解得!can't做,希望有人可以给我指点指点,非常非常感谢
def f(x):
# 被积函数
return x /25 + 1/5
def Monte_Carlo_Methond(a, b):
# (a,b)是积分区间
sum = 0
y1 = f(a)
y2 = f(b)
# y1,y2是函数的上下界
for i in range(1000000):
x = random.uniform(a, b)
y = random.uniform(0, y2)
if y <= f(x):
sum += 1
return (sum / 1000000) * (abs(b - a)) * (abs(max(y1, y2)))
result = Monte_Carlo_Methond(0,1)
print('%.5f'%result)
运行结果: