Sympy定积分

Joh*_*n28 5 python sympy integral

我想对等式进行积分:

f(x) = 积分(E^(-i * omega * t)),从-aa.

我写了以下代码:

from sympy import *
from sympy.abc import a, omega, t

init_printing(use_unicode=False, wrap_line=False, no_global=True)


f = E**(-I * omega * t)    

integrate(f, (omega, -a, a))
Run Code Online (Sandbox Code Playgroud)

但结果只是输入的定积分。当我改变整体限制0I得到结果......没有人知道如何从得到一个解决方案-aa

提前谢谢了。

约翰

Han*_*bel 7

Sympy 不知道您对变量的所有假设,因此您需要明确告诉 sympy。例如a,应该是一个正数(因此是实数)。如果我告诉 sympy,那么我会得到一个很好的答案。尝试

a = symbols('a', positive=True)
Run Code Online (Sandbox Code Playgroud)

就在之前

integrate(f, (omega, -a, a))
Run Code Online (Sandbox Code Playgroud)

并确保您使用足够新的 sympy 版本。1.0 对我有用。