Для уменьшения погрешности методов, использующих тейлоровское разложение искомого решения, необходимо использовать большее количество членов ряда. Однако при этом возникает необходимость аппроксимации производных от правых частей ОДУ. Основная идея методов Рунге-Кутта заключается в том, что производные аппроксимируются через значения функции F(tk, f(tk)) в точках на интервале [tk, tk+h], которые выбираются из условия наибольшей близости алгоритма к ряду Тейлора.
В зависимости от старшей степени h, с которой учитываются члены ряда, построены схемы Рунге-Кутта разных порядков точности. Так, например, для 2-го порядка получено однопараметрическое семейство схем вида
Для параметра L наиболее часто используют значения L=1/2 и L=1. В первом случае формула (*) приобретает вид
f(tk+h)=f(tk)+h[Fk+F(tk+h, f(tk))+hFk)]/2
Вначале вычисляется приближенное решение ОДУ в точке tk+h по формуле Эйлера
fэ=fk+hFk.
Затем определяется наклон интегральной кривой в найденной точке F(tk+h, fэ) и после нахождения среднего наклона на шаге h находится уточненное значение fRK=f(tk+h).
Схемы подобного типа называют «прогноз – коррекция». С целью экономии памяти при программировании алгоритма, обобщенного на системы ОДУ, изменим его запись с учетом того, что fk=fэ–hFk:
fi(tk+h)=fiэ+(1/2)h[Fi(tk+h, fiэ)],
где i – номер решения для системы ОДУ.
Теперь не придется держать в памяти массив начальных значений fi0 – его можно забыть после вычисления значений эйлеровских приближений fiэ, размещаемых на месте массива fi0.
Во втором случае при L=1 от формулы (*) переходим к схеме
f(tk+h)=fk+hF(tk+h/2, fk+hFk/2).
Здесь при прогнозе определяется методом Эйлера решение в точке (tk+h/2):
f1/2=fk+hFk/2,
а после вычисления наклона касательной к интегральной кривой в средней точке решение корректируется по этому наклону.
Таким образом, для методов Рунге-Кутта 2-го порядка функции j(t, f(t)) имеют вид: