Sympy 定积分

Sympy definite integral

我想对方程求积分:

f(x) = integral(E^(-i * omega * t)), from -a to a.

我写了下面的代码:

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))

但是结果就是输入的定积分。当我将 0 的整体限制更改为 I 得到结果时......有谁知道如何获得从 -aa 的解决方案?

非常感谢。

约翰

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

a = symbols('a', positive=True)

就在

之前
integrate(f, (omega, -a, a))

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