Математика / Начала анализа

Классический метод Рунге — Кутты четвёртого порядка

Классический RK4 вычисляет четыре наклона за шаг и объединяет их с весами 1:2:2:1. Для гладкой задачи Коши он даёт четвёртый порядок общей ошибки без явного вычисления высших производных.

Опубликовано: Обновлено:

Формула

$$\begin{aligned}k_1&=f(t_n,y_n),&k_2&=f(t_n+h/2,y_n+hk_1/2),\\k_3&=f(t_n+h/2,y_n+hk_2/2),&k_4&=f(t_n+h,y_n+hk_3),\\y_{n+1}&=y_n+\frac h6(k_1+2k_2+2k_3+k_4).\end{aligned}$$
Схема Стадии RK4 при y′ = y
Стадии RK4 при y′ = yСтадии RK4 при y′ = yстадияtнаклонk₁01k₂0,11,1k₃0,11,11k₄0,21,222Взвешенный итог: y(0,2) ≈ 1,2214

Взвешенный итог: y(0,2) ≈ 1,2214

Обозначения

$k_1,k_2,k_3,k_4$
четыре наклона внутри одного шага, единица y / единица t
$h$
длина шага, единица аргумента
$y_n,y_{n+1}$
старое и новое приближения, единица состояния
$t_n$
начало текущего шага, единица аргумента
$f(t,y)$
заданная правая часть ОДУ, единица y / единица t

Условия применения

Заданы начальные данные и достаточно гладкая правая часть на всём шаге. Для четвёртого порядка необходимы соответствующие производные решения и устойчивое накопление ошибок на ограниченном интервале. Все четыре стадии должны вычисляться по одной согласованной системе единиц.

Ограничения

Четвёртый порядок не означает четыре верных десятичных знака при любом h. Классический RK4 не содержит встроенной оценки ошибки и не является универсальным решателем жёстких задач. События, разрывы и особые точки нужно локализовать отдельно, изменяя сетку или модель.

Подробное объяснение

RK4 уточняет средний наклон на шаге четырьмя оценками. Первая берётся в начале, вторая — после пробного полушага по первой, третья — после нового полушага по второй, четвёртая — в конце по прогнозу третьей. Все пробные состояния строятся от старого yₙ.

Оба средних наклона вычисляются при одном времени, но обычно при разных состояниях. Поэтому k₂ и k₃ нельзя сливать в одно вычисление. Итоговое приращение использует веса 1, 2, 2, 1, сумма которых равна шести; деление на шесть превращает комбинацию в согласованную среднюю производную.

Коэффициенты подобраны так, чтобы в гладкой задаче воспроизвести разложение точного решения до членов четвёртой степени шага. Ошибка одного перехода из точного состояния имеет порядок h⁵. После многих шагов на фиксированном интервале обычная оценка общей ошибки — O(h⁴).

Более высокий порядок оплачивается четырьмя вызовами f вместо одного. Выгода зависит от стоимости правой части и допустимого шага. При недостаточной гладкости формальный порядок не описывает фактическую ошибку, а при очень малом шаге начинают проявляться округление и лишняя вычислительная работа.

Для y′ = λy шаг даёт многочлен 1+z+z²/2+z³/6+z⁴/24 при z = hλ. Это удобная независимая проверка реализации. Но у явного многочлена область устойчивости ограничена: точность высокого порядка не избавляет от ограничений жёсткого затухания.

Как пользоваться формулой

  1. Сохраните исходные t и y, посчитайте k₁ и вторую стадию в середине шага по прогнозу, построенному только из k₁.
  2. Вычислите k₃ при том же среднем времени, но новом пробном состоянии y+hk₂/2, затем найдите k₄ в конце по y+hk₃.
  3. Сложите наклоны с весами 1:2:2:1, умножьте сумму на h/6 и прибавьте приращение к сохранённому исходному y.
  4. Проверьте один шаг на уравнении с точным решением и сравните весь расчёт на шагах h и h/2 при одинаковом конечном времени.

Историческая справка

Многостадийные методы получили систематическое развитие в работах Карла Рунге и Вильгельма Кутты на рубеже XIX и XX веков. Рунге исследовал приближённое интегрирование дифференциальных уравнений, а Кутта развивал схемы повышенного порядка. Их подход позволял обходиться вычислениями самой правой части вместо сложных выражений для последовательных производных. Классическая четырёхстадийная таблица стала одним из наиболее известных представителей семейства; именно её обычно сокращённо называют RK4. Это не единственный метод четвёртого порядка: другие таблицы могут иметь иные узлы и веса. Современные учебники, включая FNC, отделяют данную фиксированную схему от адаптивных пар Рунге — Кутты, где дополнительные оценки нужны для выбора следующего шага.

Историческая линия формулы

Название связывает семейство с работами Рунге и Кутты. Здесь RK4 означает конкретную классическую четырёхстадийную таблицу, а не все методы четвёртого порядка. Автоматический контроль шага и современные программные решатели не приписываются этой одной формуле.

Пример

Для безразмерного y′ = y, y(0) = 1 выполним один шаг h = 0,2. Последовательно получаем k₁ = 1; k₂ = 1+0,1·1 = 1,1; k₃ = 1+0,1·1,1 = 1,11; k₄ = 1+0,2·1,11 = 1,222. Взвешенная сумма равна 1+2·1,1+2·1,11+1,222 = 6,642. Поэтому y₁ = 1+(0,2/6)·6,642 = 1,2214. Точное e⁰·² ≈ 1,221402758, абсолютная ошибка около 0,000002758. Тот же ответ даёт 1+0,2+0,2²/2+0,2³/6+0,2⁴/24 — независимая алгебраическая проверка линейного теста. Здесь k обозначают наклоны, а не уже умноженные на h приращения. Если использовать другую конвенцию, множитель h в формулах нужно перенести последовательно во все стадии.

Частая ошибка

Не используйте прогноз второй стадии для четвёртой: она строится по k₃. Не начинайте пробные состояния от уже изменённого y. Не смешивайте наклоны с приращениями h·k и не умножайте шаг дважды. Не обещайте заданное число верных знаков из одного названия «четвёртый порядок». Не считайте RK4 адаптивным без дополнительной оценки ошибки.

Практика

Задачи с решением

Постоянная производная

Условие. Для y′ = 3, y(0) = 2 выполните один шаг h = 0,4.

Решение. Все четыре наклона равны 3. Их взвешенное среднее тоже 3, поэтому y₁ = 2+0,4·3 = 3,2. Это точное линейное решение.

Ответ. y(0,4) = 3,2.

Линейное затухание

Условие. Для y′ = −y, y₀ = 1 найдите шаг RK4 при h = 0,5.

Решение. Последовательные наклоны: −1; −0,75; −0,8125; −0,59375. Приращение равно (0,5/6)·(−1−1,5−1,625−0,59375) = −0,3932291667.

Ответ. y₁ ≈ 0,6067708333; точное e⁻⁰·⁵ ≈ 0,6065306597.

Дополнительные источники

  • https://fncbook.com/rk/
  • https://fncbook.com/absstab-diffusion/
  • https://mathshistory.st-andrews.ac.uk/Biographies/Runge/
  • https://mathshistory.st-andrews.ac.uk/Biographies/Kutta/

Связанные формулы

Математика

Явный метод Эйлера: решение задачи Коши по шагам

$y_{n+1}=y_n+h f(t_n,y_n),\qquad t_{n+1}=t_n+h$

Явный метод Эйлера приближённо решает уравнение y′ = f(t,y), продолжая решение по наклону в начале каждого шага. При гладком решении глобальная ошибка имеет первый порядок по шагу.

Математика

Неявный метод Эйлера: шаг и устойчивость затухания

$y_{n+1}=y_n+h f(t_{n+1},y_{n+1})$

Неявный метод Эйлера использует производную в конце шага. Новое значение входит в обе части равенства, поэтому каждый переход требует решения уравнения, зато схема хорошо подавляет быстро затухающие компоненты.

Математика

Явный метод средней точки для задачи Коши

$k_1=f(t_n,y_n),\quad k_2=f(t_n+h/2,y_n+hk_1/2),\quad y_{n+1}=y_n+hk_2$

Явный метод средней точки делает пробный полушаг по Эйлеру, оценивает производную в середине и использует её на полном шаге. Это двухстадийная схема Рунге — Кутты второго порядка.

Математика

Метод Хойна: явное усреднение двух наклонов

$k_1=f(t_n,y_n),\quad k_2=f(t_n+h,y_n+hk_1),\quad y_{n+1}=y_n+\frac h2(k_1+k_2)$

В этой двухстадийной схеме сначала делают прогноз Эйлера на полный шаг, затем усредняют начальный и прогнозный конечный наклоны. Метод имеет второй порядок, но названия его вариантов различаются в литературе.