此函数从0到inf为正,为什么给大于1000会产生0,不合理。
import scipy.integrate as integrate
from math import *
integrate.quad(lambda x: x*exp(-x**2/2)/sqrt(2*pi), 0.0, 1000)
Out[52]:
(0.3989422804014328, 1.6471510195390376e-11)
integrate.quad(lambda x: x*exp(-x**2/2)/sqrt(2*pi), 0.0, 100000)
Out[54]:
(0.0, 0.0)
答案 0 :(得分:3)
对于大于约的x 39,exp(-x**2/2)
给出0.0。当积分的上限为100000时,函数非零的积分间隔的分数很小,以至于quad
算法永远不会看到它。就quad
而言,函数同样为0。