2017-09-15 3 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)