Python 将高斯函数与四边形函数积分时突然下降
我试图将u->exp(-u²/2)从无穷大积分到x。当我绘制函数时,在21左右有一个突然的下降,在36左右下降到0,而它应该大致恒定到2.5。你怎么解释呢Python 将高斯函数与四边形函数积分时突然下降,python,gaussian,quad,Python,Gaussian,Quad,我试图将u->exp(-u²/2)从无穷大积分到x。当我绘制函数时,在21左右有一个突然的下降,在36左右下降到0,而它应该大致恒定到2.5。你怎么解释呢 import numpy as np from scipy.integrate import quad import matplotlib.pyplot as plt def intExp(x): return quad(lambda u: np.math.exp(-u*u/2),-np.Inf, x, full_output=0)
import numpy as np
from scipy.integrate import quad
import matplotlib.pyplot as plt
def intExp(x):
return quad(lambda u: np.math.exp(-u*u/2),-np.Inf, x, full_output=0)
def plot(a,b, u, v,s):
plt.close()
t = np.arange(a,b,s)
plt.plot(t , map(intExp,t))
plt.axis([a, b, u, v])
plt.show()
plot(-10, 50, -1, 3, 1)
谢谢你的帮助 与台阶宽度有关。将epsabs的默认值更改为1e-9有效:
import numpy as np
from scipy.integrate import quad
import matplotlib.pyplot as plt
def intExp(x):
return quad(lambda u: np.math.exp(-u*u/2),-np.Inf, x, full_output=0,epsabs=1e-9)
def plot(a,b, u, v,s):
plt.close()
t = np.arange(a,b,s)
plt.plot(t , map(intExp,t))
plt.axis([a, b, u, v])
plt.show()
plot(-10, 50, -1, 3, 1)
非常感谢你的帮助!