如何解决python

时间:2017-09-15 00:54:26

标签: python python-3.x numpy sympy

我正在尝试使用sympy库来解决以下等式。

I = -0.53V + 65.88

我一直在使用以下代码行:

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

但是,它返回一个空列表。我知道这个代码是为在RHS上查找未知而设计的,但我不知道在LHS上找到未知值的语法。

1 个答案:

答案 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)