使用 Sympy 集成时遇到问题

问题描述 投票:0回答:1

所以我一直在使用Sympy作为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

python math sympy physics symbolic-integration
1个回答
1
投票

您可以根据您的变量使用假设(

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
,这是正确的答案。

© www.soinside.com 2019 - 2024. All rights reserved.