Численное решение дифференциальных уравнений и систем

Решите задачу Коши онлайн для обыкновенного дифференциального уравнения любого порядка или системы уравнений: методы Эйлера, Хьюна, классический Рунге — Кутта 4-го порядка и адаптивный метод Дормана — Принса RK45. Таблица значений, графики, фазовый портрет, поле направлений и сравнение с точным решением.

Пишите y' = …, y'' = … (старшая производная слева). Для систем — несколько строк: x' = …, y' = …. Начальные условия — для функции и всех производных ниже старшей, в одной точке, через «;».

Примеры:

Фазовый портрет

Таблица значений

Рекламный блок «после калькулятора» (ads/after-calc.html)

Задача Коши

Задача Коши — найти решение дифференциального уравнения, удовлетворяющее начальным условиям в одной точке. Для уравнения первого порядка y′ = f(x, y) достаточно знать y(x₀); для уравнения n-го порядка — значения функции и её производных до (n−1)-й включительно. Если правая часть гладкая, решение существует и единственно — по крайней мере рядом с начальной точкой.

Уравнение высокого порядка калькулятор сводит к системе первого порядка: например, y″ = −y превращается в систему y′ = v, v′ = −y. Поэтому одинаково решаются и отдельные уравнения, и системы — например, модель «хищник — жертва» или уравнения Лоренца.

Численные методы

МетодФормула шагаПорядок точности
Эйлераyk+1 = yk + h·f(xk, yk)1: ошибка ~ h
Хьюна (улучшенный Эйлер)прогноз по Эйлеру, затем среднее наклонов в начале и конце шага2: ошибка ~ h²
Рунге — Кутта 4-го порядкаyk+1 = yk + h(k1 + 2k2 + 2k3 + k4)/64: ошибка ~ h⁴
Дормана — Принса RK45пара формул 5-го и 4-го порядка; разность между ними оценивает ошибку и автоматически подбирает шаг5, шаг выбирается под точность ≈ 10⁻¹⁰

Чтобы увидеть разницу между методами, оставьте пример y′ = x − y с точным решением и переключайте метод: при шаге 0,1 на отрезке [0; 3] наибольшая ошибка метода Эйлера — около 0,04, Хьюна — около 0,001, Рунге — Кутты — меньше 10⁻⁶, а адаптивного метода — порядка 10⁻¹⁴. Уменьшение шага вдвое уменьшает ошибку метода Эйлера в 2 раза, а метода Рунге — Кутты — в 16 раз.

Рекламный блок «внутри статьи» (ads/in-article.html)

Фазовый портрет и поле направлений

Для систем и уравнений второго порядка полезно смотреть не только на графики по времени, но и на фазовую траекторию — кривую в пространстве переменных (например, положение и скорость). Замкнутая траектория означает периодическое движение, спираль к точке — затухание, а в модели Ван дер Поля траектории сходятся к предельному циклу.

Для одного уравнения первого порядка калькулятор рисует поле направлений: в каждой точке короткий отрезок с наклоном f(x, y). Решение — кривая, касающаяся этих отрезков.

Частые вопросы

Почему решение «уходит в бесконечность»?

Решения некоторых нелинейных уравнений существуют только на конечном промежутке: например, решение y′ = y² с y(0) = 1 равно 1/(1 − x) и обращается в бесконечность при x = 1. Калькулятор останавливается и сообщает, где это произошло.

Как выбрать шаг?

Для методов с постоянным шагом уменьшайте шаг, пока результат не перестанет заметно меняться. Для RK45 шаг подбирается автоматически, а поле «Шаг таблицы» задаёт только частоту строк в таблице.

Как получить точное решение?

Для линейных уравнений с постоянными коэффициентами воспользуйтесь калькулятором линейных дифференциальных уравнений — он строит общее и частное решение в формулах. Большинство нелинейных уравнений в элементарных функциях не решаются, и численный метод — единственный путь.

Рекламный блок «внизу страницы» (ads/bottom.html)