2017-07-22 8 views
1

Ich mag die Gleichung integrieren:Sympy bestimmte Integral

f (x) = Integral (E^(- i * Omega * t)), -a-a.

Ich schrieb den folgenden Code:

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

Aber das Ergebnis ist nur das eingegebene bestimmte Integral. Wenn ich die Integralgrenzen auf 0 zu I ändere bekomme ein Ergebnis ... Weiß jemand wie man eine Lösung von bis a bekommt?

Vielen Dank im Voraus.

John

Antwort

1

Sympy weiß nicht, über all die Dinge, die Sie über Ihre Variablen übernehmen, so dass Sie explizit sagen, müssen sympy. Zum Beispiel soll a eine positive (und somit reale) Zahl sein. Wenn ich es dem sympatisch sage, bekomme ich eine nette Antwort. Versuchen

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

direkt vor

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

Und stellen Sie sicher, dass Sie eine ausreichend aktuelle Version von sympy verwenden. 1.0 funktioniert für mich.

+0

Das war's! Danke vielmals! – John28