我正在尝试对形式的广义有理函数进行逆拉普拉斯变换:
D /(A * s ** 2 B * s C)
用同情心.
from sympy import *
from sympy import inverse_laplace_transform as ilt
from sympy.abc import s, t
var('A:D')
eq = D/(A*s**2 + B*s + C)
solution = ilt(eq, s, t)
知道数学分析的答案是:
-(A (e^(t (-1/2 sqrt(C^2-4 B)-C/2))-e^(t (1/2 sqrt(C^2-4 B)-C/2))))/sqrt(C^2-4 B)
但是,这个问题不会产生解决方案,并且代码将陷入无限制的CPU进程而没有特定的收益.
但是将eq放在这样:
eq = B/((s - A)**2 + B**2)
sympy会产生如下形式的等式:
-I*(I*exp(t*im(B))*sin(t*(re(B) - im(A))) - exp(t*im(B))*cos(t*(re(B) - im(A)))
+ I*exp(-t*im(B))*sin(t*(re(B) + im(A))) + exp(-t*im(B))*cos(t*(re(B) + im(A))))
*exp(t*re(A))*Heaviside(t)/2
这不是我需要的.
关于如何使同情产生这样一个人类可读答案的任何建议?
最佳答案 看一下追溯,这看起来像是一个合法的错误.您应该在
SymPy issue tracker中报告.