Метод Рунге–Кутты часто применяется для решения дифференциальных уравнений и систем
уравнений из-за его высокой точности. Отличительная особенность метода – уточнение
наклона интегральной кривой за счет вычисления производной не только в начале текущего отрезка
интегрирования, но и, например, в середине отрезка (для двучленных схем Рунге–Кутты) или
четырехкратное вычисление производных в методе четвертого порядка.
Для случая одного уравнения двучленная итерационная формула может иметь вид
yn+1=yn+h f(xn+0,5h,yn+0,5hfn)
Последовательность вычислений: сначала делают половинный шаг по схеме ломаных (по формуле
Эйлера), находя yn+0,5=yn+hy’n+0,5,
затем в найденной точке определяют наклон кривой
y’n+0,5=f(xn+0,5, yn+0,5)
и по этому наклону определяют приращение на целом шаге yn+1=yn+
hy’n+0,5.
Четырехчленная схема Рунге–Кутты наиболее часто употребляется в машинных расчетах и имеет
четвертый порядок точности:
Метод Рунге–Кутта легко переносится и на
случай системы дифференциальных уравнений.
В библиотеку Mathlib включена процедура
RKGS, реализующая метод Рунге-Кутты четвертого порядка с автоматическим выбором шага
интегрирования
Замечание. Так как в
процедуре шаг выбирается автоматически в
зависимости от скорости изменения функций,
обычно применяют следующий алгоритм: задаются
требуемым шагом вывода результатов (в программе
переменная sprint), определяют число шагов n, а
затем процедуру вызывают n раз для
последовательного интегрирования уравнений на
этих участках, организуя вывод результатов после
завершения процедуры.
Знаете ли Вы, что задача векторного программирования - это задача отыскания оптимума по Парето заданной вектор-функции на заданном множестве допустимых значений переменных.