Sympy работает без предоставления решения с учетом начальных условийPython

Программы на Python
Ответить
Anonymous
 Sympy работает без предоставления решения с учетом начальных условий

Сообщение Anonymous »

У меня есть два дифференциальных уравнения, которые я пытаюсь решить. Запуск приведенного ниже кода на моем компьютере занимает около часа, прежде чем он выведет очень длинное уравнение, если я не включаю начальные условия. Я еще не видел никаких решений при запуске кода с начальными условиями через несколько часов. Я что-то делаю не так?

Код: Выделить всё

import sympy as sp

# solve = False

r1 = 3570
r2 = 3570
r3 = 6e6
c1 = 200e-12
c2 = 200e-12
c3 = 120e-12

t = sp.symbols("t")

V0 = sp.Function('V0')(t)
V1 = sp.Function('V1')(t)
V2 = sp.Function('V2')(t)

dV1 = sp.Derivative(V1, t)
dV2 = sp.Derivative(V2, t)

R1, R2, R3, C1, C2, C3 = sp.symbols("R1 R2 R3 C1 C2 C3")

eq1 = sp.Eq((C1 + C3)*dV1 + ((1/R1) + (1/R3))*V1 + (-C3)*dV2 + (-1/R3)*V2, (1/R1)*V0)
eq2 = sp.Eq((C3)*dV1 + (1/R3)*V1 + (-C3 - C2)*dV2 + (-1/R2)*V2, 0)

sol = sp.dsolve([eq1, eq2], [V1, V2], ics={V1.subs(t,0): 0, V2.subs(t, 0): 0})

# print(sp.latex(sol[1].subs({"R1": r1, "R2": r2, "R3": r3, "C1": c1, "C2": c2, "C3": c3})))

print(sp.latex(sol[1]))
Я пытался упростить и удалить части проблемы, чтобы уменьшить сложность, но я нахожусь на пределе того, что могу удалить.
Я нашел в этом вопросе был комментарий, предлагающий вольфрам-альфа, но я не верю, что вольфрам может символически решать системы дифференциальных уравнений такой формы. Скриншот Wolfram Alpha

Подробнее здесь: https://stackoverflow.com/questions/792 ... conditions
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»