Sympy计算逆拉普拉斯变换

时间:2016-12-08 15:12:13

标签: python sympy symbolic-math

我在使用sympy计算符号表达式的反拉普拉斯变换时遇到了一些麻烦。在matlab和书中,我使用表达式s /(s ^ 2 + w ^ 2)转换为cos(wt)。

当我尝试使用像这样的同情时这样做:

expression = s/(s**2+w**2)
Answer = sympy.inverse_laplace_transform(expression, s, t)

我明白了

Answer = (-I*exp(2*t*im(w))*sin(t*re(w)) + exp(2*t*im(w))*cos(t*re(w)) + I*sin(t*re(w)) + cos(t*re(w)))*exp(-t*im(w))*Heaviside(t)/2

我做错了什么?

1 个答案:

答案 0 :(得分:6)

Sympy假设w是复值的。更简单的方法是在符号的定义中提供选项real=True

s, t = sp.symbols('s, t')
w = sp.symbols('w', real = True)
expression = s/(s**2+w**2)

sympy.inverse_laplace_transform(expression, s, t)
  

cos(t*w)*Heaviside(t)