如果我有一个表达式,例如
有没有简单的方法可以做到这一点?
c1 / (c2*s + c3)
,我希望sympy将表达式转换为一个模板,看起来像C1 / (s + C2)
,其中C1 = c1/c2
,C2 = c3/c2
。有没有简单的方法可以做到这一点?
c1 / (c2*s + c3)
,我希望sympy将表达式转换为一个模板,看起来像C1 / (s + C2)
,其中C1 = c1/c2
,C2 = c3/c2
。所以你在问:“为了使这个成立,C1和C2必须是什么?”solve
可以回答这个问题:
>>> v = var('c1:4 C1:3 s')
>>> expr = c1 / (c2*s + c3)
>>> tmpl = C1 / (s + C2)
>>> t = tmpl.free_symbols - expr.free_symbols
>>> solve(expr - tmpl, t, dict=True)
[{C1: c1/c2, C2: c3/c2}]