使用 Sympy 集成时遇到问题
Trouble using Sympy to integrate
所以我一直在使用 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
您可以根据变量使用 assumption(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
,这是正确答案。
所以我一直在使用 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
您可以根据变量使用 assumption(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
,这是正确答案。