DiracDelta没有给出正确的结果

HuS*_*Shu 2 python integrate sympy

我必须在一个复杂的积分中使用dirac delta,并希望看到它如何与一个简单的情况一起工作,但它返回错误的答案.我在下面做错了什么线索?

from sympy import DiracDelta
from scipy import integrate

def f(x):
     return x*DiracDelta(x-1)

b, err = integrate.quad(f, 0, 5)    
print b
Run Code Online (Sandbox Code Playgroud)

这会返回,0.0而不应该返回.

HuS*_*Shu 5

似乎sympy功能与scipy集成不兼容.一个人需要使用sympy集成.以下给出了正确答案

from sympy import *
x = Symbol('x')
print integrate(x*DiracDelta(x-1), (x, 0, 5.0))    
Run Code Online (Sandbox Code Playgroud)

虽然,我不确定它sympy.integrate是否像它一样强大和多才多艺scipy.integrate.