所以,我得到了这段代码来解决我的电路问题(编码spyder):
from sympy.solvers import solve
from sympy import Symbol, simplify
vo = Symbol("vo") #amplitude of output voltage
vr = Symbol("vr") #amplitude of voltage r
ir = Symbol("ir") #amplitude of R-current
ic = Symbol("ic") #amplitude of C-current
il = Symbol("il") #amplitude of L-current
r = Symbol("r") #resistance
omega = Symbol("omega") #angular frequency
c = Symbol("c") #capacitance
l = Symbol("l") #inductance
eq1 = (vr + vo - 1,
ir - ic - il,
vr - ir*r,
vo - ic/(1j*omega*c),
vo - 1j*omega*l*il)
sol = solve(eq1, (vo, vr, ir, ic, il))
vos = simplify(sol[vo])
print(vos)
print(sol[vo])
输出为:
l*omega/(I*c*l*omega**2*r + l*omega - I*r)
l*omega/(I*c*l*omega**2*r + l*omega - I*r)
这是Vo我当前电路的解决方案
然后我更改了一些部分,eq1因为我要解决Vo另一个电路的问题,如下所示:
eq1 = (ir*(r + 1/ic + il) + vo - 1,
ir - ic - il - vr/r,
vr - ir*r,
vo - ic/(1j*omega*c),
vo - 1j*omega*l*il)
eq1 是我唯一更改的部分,但是当我运行它时,会出现此错误:
TypeError: list indices must be integers or slices, not Symbol
有谁知道如何解决这个问题?
LEATH
相关分类