我正在尝试使用scipy.integrate
中的quad函数集成一个具有奇点的函数,但我没有得到期望的答案。以下是代码:
from scipy.integrate import quad
import numpy as np
def fun(x):
return 1./(1-x**2)
quad(fun, -2, 2, points=[-1, 1])
这会导致IntegrationWarning和关于
0.4
的返回值。
该函数的极点为[-1,1]。答案应该大约为1.09(使用笔和纸计算得出)。
2*quad(fun, 0, 2, points=[1])[0])
给出了正确的结果。 - AGN Gazer