当我试图反变换(s + 0.2)/(s*(s + 0.2) + 1)时,反拉普拉斯变换有一个很大的问题。
我使用的代码:
from sympy import *
s = symbols('s')
t = symbols('t')
f = (s + 0.2)/(s*(s + 0.2) + 1)
inverse_laplace_transform(f,s,t)这段代码破坏了程序,我不明白为什么,因为对于其他函数,该方法不会崩溃。
发布于 2015-09-09 22:49:33
显然,在数学中存在一个问题,那就是一个任意精确算法的模块,或者这个模块与渐近的集成。
您可以通过用rational替换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)/33https://stackoverflow.com/questions/32470693
复制相似问题