Я пытался вывести уравнение Telegrapher , используя SymPy.Но я не мог ни обрабатывать, ни извлекать различные части уравнения, поэтому я, наконец, сделал это вручную.Можно ли это сделать с помощью SymPy?Я пытался использовать subs
, но не добился хороших результатов.
Спасибо заранее!Следующий код был моей попыткой решить проблему:
from sympy import *
# init_printing(use_unicode=True, wrap_line=False)
V, I = symbols('V I', cls=Function)
z = Symbol('z')
t = Symbol('t')
R, L, C, G = symbols('R L C G', positive=True)
eq1 = Derivative(V(z, t),z, 1) + R * I(z, t)+L* Derivative(I(z,t),t,1)
# Derivative(V(z, t), z) + L*Derivative(I(z, t), t) + R*I(z, t)
eq2 = Derivative(I(z,t),z,1)+G*V(z,t)+C*Derivative(V(z,t),t,1)
# Derivative(I(z, t), z) + C*Derivative(V(z, t), t) + G*V(z, t)
eq3 = eq1.diff(z,1)
#eq3 = L*Derivative(I(z, t), t, z) + R*Derivative(I(z, t), z) + Derivative(V(z, t), z, z)
eq4 = eq2.diff(z,1)
#eq4 = C*Derivative(V(z, t), t, z) + G*Derivative(V(z, t), z) + Derivative(I(z, t), z, z)
# Then part of eq1 is replaced in eq4
# (-1*(R*I(z,t)+L*I(z,t).diff(t,1)))
eq5 = C*Derivative(V(z, t), t, z) + G*(-1* (R*I(z,t)+L*I(z,t).diff(t,1))) + Derivative(I(z, t), z, z)
# And similarly for eq2 in eq3
# (-1*(G*V(z,t)+C*V(z,t).diff(t,1)))
eq6 = L*Derivative(I(z, t), t, z) + R*(-1* (G*V(z,t)+C*V(z,t).diff(t,1))) + Derivative(V(z, t), z, z)
# the derivative in time of eq1
eq7 = eq1.diff(t,1)
# eq7 = L*Derivative(I(z, t), t, t) + R*Derivative(I(z, t), t) + Derivative(V(z, t), t, z)
# Derivative(V(z, t), t, z) = -1*(L*Derivative(I(z, t), t, t) + R*Derivative(I(z, t), t))
# the derivative in time of eq2
eq8 = eq2.diff(t,1)
# eq8 = C*Derivative(V(z, t), t, t) + G*Derivative(V(z, t), t) + Derivative(I(z, t), t, z)
# Derivative(I(z, t), t, z) = -1* (C*Derivative(V(z, t), t, t) + G*Derivative(V(z, t), t))
# Replace eq 7 in eq5
Telegraphers_eq1 = C*-1*(L*Derivative(I(z, t), t, t) + R*Derivative(I(z, t), t)) + G*(-L*Derivative(I(z, t), t) - R*I(z, t)) + Derivative(I(z, t), z, z)
# Replace eq 8 in eq6
Telegraphers_eq2 = L*-1*(C*Derivative(V(z, t), t, t) + G*Derivative(V(z, t), t)) + R*(-C*Derivative(V(z, t), t) - G*V(z, t)) + Derivative(V(z, t), z, z)
ура, Педро