2015-09-09 26 views
0

當我嘗試進行抗轉換(s + 0.2)/(s *(s + 0.2)+ 1)時,我遇到了sympy中的逆拉普拉斯變換的一個大問題。Sympy inverse_laplace_transform不起作用?

我正在使用的代碼:

from sympy import * 
s = symbols('s') 
t = symbols('t') 
f = (s + 0.2)/(s*(s + 0.2) + 1) 
inverse_laplace_transform(f,s,t) 

該代碼打破了計劃,我不明白爲什麼,因爲與其他功能的方法不會塌下來。

回答

1

顯然有一個與mpmath一個問題,那就是對於高精度計算模塊,或者該模塊與sympy的整合。

您可以通過合理更換0.2規避錯誤。像這樣的東西爲我工作:

from sympy import * 
s = symbols('s') 
t = symbols('t') 
a = Rational(1, 5) 
f = (s + a)/(s*(s + a) + 1) 
inverse_laplace_transform(f,s,t) 

返回:

sqrt(11)*(sin(3*sqrt(11)*t/10) + 3*sqrt(11)*cos(3*sqrt(11)*t/10))*exp(-t/10)*Heaviside(t)/33 
+0

謝謝,很好的解決方案。 – tul1