Рассмотрим идею этих методов на примере алгоритма 2-го порядка.
Выпишем точную формулу интегрирования ОДУ на n-м шаге численного решения:
В формуле
не знаем, чему равно yn+1/2.
Возьмем его из формулы явного алгоритма Эйлера:
и подставим в основную формулу интегрирования шага ОДУ.
В результате получим следующий алгоритм реализации шага:
где
В зависимости от выбора метода
интегрирования ОДУ на элементарном шаге и конкретной формы
аппроксимации y (t) в правой части
ОДУ, получаются алгоритмы различной точности и быстродействия.
Наиболее популярен алгоритм Рунге-Кутты четвертого порядка, описанный в
большинстве книг по методам вычислений. Он обеспечивает малую погрешность для
широкого класса систем ОДУ за исключением жестких систем и, при этом, довольно
экономичен (на каждом шаге интегрирования требуется вычисление 4-х значений
функции f):
Если по различным причинам время расчетов становится критичным или точность неудовлетворительной, стоит попробовать вместо рассмотренного алгоритма Рунге-Кутты с фиксированным шагом другие методы. Например, если известно, что решение на рассматриваемом интервале меняется слабо, либо существуют участки медленных и быстрых его изменений, Метод Рунге-Кутты с переменным шагом основан на разбиении интервала не на равномерные шаги, а более оптимальным способом. Там, где решение меняется слабо, шаги выбираются более редкими, а в областях его сильных изменений - частыми. Это очень просто осуществить, т.к. алгоритм Рунге-Кутты является одношаговым и подразымевает простой пересчет при любом значении шага hn искомого y (tn+hn) через y (tn). Таким образом, легко обобщить алгоритм на адаптированный вариант, с выбором на каждом шаге своего hn в зависимости от локальной динамики решения на предыдущих шагах. В результате применения адаптированного алгоритма, для достижения одинаковой точности может потребоваться существенно меньшее число шагов, чем для стандартного алгоритма Рунге-Кутты с фиксированным шагом.