Итак, я получил этот фрагмент кода для моей проблемы электрических цепей (кодирование на 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
кто-нибудь знает, как решить эту проблему?