我试图用渐近法对形式为d/(A*s*2+ B*s + C)的广义有理函数做Laplace变换。
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)
交感将产生如下形式的方程:
-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
这不是我所需要的。对于如何对这样一个人类可读的答案作出同情让步,有什么建议吗?
发布于 2013-12-10 06:42:33
看看追踪,这看起来就像一个合法的bug。你应该在SymPy问题跟踪器上报告。
https://stackoverflow.com/questions/20452128
复制相似问题