使用Sympy进行积分时出现问题

2024-10-16 22:33:58 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我一直在使用sypy作为python中集成的工具。通常我没有问题,但这次没有给我一个非常有用的答案。在

from sympy import *
psi, x, a = symbols('psi, x, a') #Where a is a real constant 
def psi(x):
    return 1./(x**2 + a**2)
I = integrate(psi(x)**2 ,(x,-oo,oo))  #No complex conjugate 
print I 

a应该是一个实常数,解应该等于1,它是一个波函数,我需要找到a。任何能帮助我找到更好的方法来积分的人都会很感激。在

这种整合的答案应该是: 0.5*pi*(1./a**2)**1.5


Tags: 工具答案fromimportreturnisdefwhere
1条回答
网友
1楼 · 发布于 2024-10-16 22:33:58

您可以根据变量使用假设(positive=True)来简化。这是一个例子。在

from sympy import *
psi, x, a = symbols('psi, x, a',positive=True) #Where a is a real constant 
def psi(x):
    return 1./(x**2 + a**2)
I = integrate(psi(x)**2 ,(x,-oo,oo))  #No complex conjugate 
print I 

答案应该是0.5*pi/a**3,这是正确的答案。在

相关问题 更多 >