2017-09-15 31 views
0

我正在嘗試使用sympy庫解下面的公式。如何解決蟒蛇的LHS值的公式

I = -0.53V + 65.88

我一直在使用下面的代碼行:

from sympy import * 
V = Symbol('vi') 
I = -0.5*vi + 65.88 
solve(V - 5, I) 

但是,它返回我一個空列表。我知道這個代碼是爲了在RHS上找到未知數而設計的,但我不知道在LHS上找到未知值的語法。

+0

你要什麼找? V的值使得表達式5? – ddg

回答

1

定義I這種方式使它成爲一個加法,而不是一個符號;您可以評估它,但無法解決它(請參閱Sympy文檔中的Equals signs)。

而是嘗試

import sympy as sp 

# create the symbols 
V, I = sp.Symbols("V I") 

# set up an equality statement 
eq = sp.Eq(I, sp.Float("-0.53") * V + sp.Float("65.88")) 

# try to reorder the equation to find solutions for V 
sp.solve(eq, V) # returns a single solution, [-1.88679245283019*I + 124.301886792453] 

# solve numerically for V == 5 
eq.subs(V, sp.Float("5")) # returns Eq(I, 63.2300000000000)