【问题标题】:Sympy computing the inverse laplace transformSympy 计算拉普拉斯逆变换
【发布时间】:2016-12-08 15:12:13
【问题描述】:

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

当我尝试像这样使用 sympy 执行此操作时:

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

我做错了什么?

【问题讨论】:

    标签: python sympy symbolic-math


    【解决方案1】:

    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)

    【讨论】:

    • 如果您不想要Heaviside(t),也可以使用t = sp.Symbol('t', positive=True)。积极也意味着真实。
    猜你喜欢
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-13
    • 1970-01-01
    相关资源
    最近更新 更多