Я пытаюсь настроить быстрый числовой решатель в Python для дифференциальной задачи вида:
, где r
- некоторая постоянная.
Я хочу интегрировать А в течение некоторого периода времени, представляющего интерес. Однако это усложняется тем фактом, что уравнение dA / dt включает в себя другую переменную B, которая сама описывается ODE dB / dt. На самом деле B - это вектор, но я упростил выражение, чтобы попытаться более четко обозначить свои проблемы.
В настоящее время у меня есть решение, использующее ручной метод Эйлера: то есть вычисление дБ / dt (затем используйте B = B_previous + dB/dt * dt
) и шаг вперед вручную с использованием фиксированного размера шага по времени dt
. Однако это медленно и ненадежно. Я полагаю, что было бы намного лучше использовать встроенные решатели ODE в Numpy, но я не уверен, что это возможно, учитывая сложный характер проблемы, которую я пытаюсь решить?
Возможно ли это с помощью Numpy odeint
или solve_ivp
, пожалуйста? И если да, может кто-нибудь предложить какие-либо указатели, пожалуйста! Благодарю.