我正在尝试使用sympy库来解决以下等式。
I = -0.53V + 65.88
我一直在使用以下代码行:
from sympy import *
V = Symbol('vi')
I = -0.5*vi + 65.88
solve(V - 5, I)
但是,它返回一个空列表。我知道这个代码是为在RHS上查找未知而设计的,但我不知道在LHS上找到未知值的语法。
答案 0 :(得分: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)