2013-03-18 73 views
3

如果我有一個表達式,如c1/(c2*s + c3)我希望sympy將表達式轉換爲看起來像C1/(s + C2)的模板,例如C1 = c1/c2C2 = c3/c2Sympy重寫表達式爲模板

有沒有簡單的方法來做到這一點?

+0

通常情況下,人們會使用'Wild'和'match'來做到這一點,但他們似乎沒有足夠強大的力量去認識到一個表達真的是另一個表達的形式。 – asmeurer 2013-03-19 16:50:23

+0

是的,結果必須與「通配符」結構完全相同。這可能是一個很好的功能。 – aagaard 2013-03-20 10:08:36

回答

-1

好吧,我不知道這是否會一直工作,但仍

from sympy import Symbol, simplify 

c1 = Symbol('c1') 
c2 = Symbol('c2') 
c3 = Symbol('c3') 
s = Symbol('s') 
C1 = Symbol('C1') 
C2 = Symbol('C2') 

c1 = C1*c2 
c3 = c2*C2 

exp = c1/(c2*s + c3) 
exp = simplify(exp) 

希望這有助於。