Метод Рунге–Кутты четвёртого порядка
англ. Fourth-order Runge–Kutta method
Четыре разведочных наклона на шаг с весами 1:2:2:1 вместо одного: локальная ошибка O(h⁵), глобальная O(h⁴); для y′ = y шагом 0.1 ошибка на шаге около 8·10⁻⁸.
Хороший разведчик перед маршем не спрашивает дорогу один раз: смотрит под ноги в начале, дважды присматривается в середине шага и оглядывается на конце — потом делает усреднённый ход. Метод Рунге–Кутты четвёртого порядка работает именно так. На каждом шаге считаются четыре наклона — в начале, дважды в середине и в конце шага — и смешиваются с весами . Локальная ошибка шага порядка , накопленная — порядка ; производные правой части не нужны, стартовать можно с любого .
Проверка на уравнении , где точный ответ . Один шаг из нуля даёт против : ошибка , как и положено по порядку . На отрезке десятью шагами набегает около . Уменьшение шага вдвое режет накопленную ошибку примерно в пятнадцать раз — теория обещает . Для контраста: явный Эйлер с тем же шагом к единице ошибается на — разница в пять порядков. Подробности шаговых методов — в уроке численное решение ОДУ, разложение, рождающее веса, — в терминах ряд Тейлора, практические потери — в источниках погрешностей.
Частые вопросы
Почему у метода именно четыре стадии?
Число вычислений правой части на шаге у явных методов совпадает с порядком до четвёртого порядка включительно — четыре стадии дают четвёртый порядок бесплатно. Для пятого порядка шести стадий уже не избежать: это барьер Бутчера, и потому RK4 остался последним «дешёвым» классиком. Четыре вычисления за шаг, устойчивость на обычных задачах и отсутствие требований к производным делают его рабочей лошадкой учебников и промышленных кодов одновременно.
Когда вместо RK4 берут другой метод?
На жёстких системах явный метод заставляет брать чудовищно малый шаг из-за устойчивости — там нужны неявные схемы. Если точность должна держаться автоматически, берут вложенные пары вроде Рунге–Кутты–Фельберга или Дормана–Принса: они считают пятый порядок попутно и управляют шагом. На длинных интервалах гладких задач экономичны многошаговые методы Адамса, переиспользующие прошлые значения. А для стартовой оценки почти любой задачи RK4 с двойным пересчётом шага — быстрый способ узнать масштаб ошибки.