ОДУ > Задачи Коши  > Схемы Рунге-Кутты   

Схемы Рунге-Кутты

Семейство схем Рунге-Кутты основано на аппроксимации неизвестных аргументов y (tn) в правых частях дифференциальных уравнений f(t,y).

Рассмотрим идею этих методов на примере алгоритма 2-го порядка.
Выпишем точную формулу интегрирования ОДУ на n-м шаге численного решения:

В формуле

не знаем, чему равно yn+1/2. Возьмем его из формулы явного алгоритма Эйлера:

и подставим в основную формулу интегрирования шага ОДУ. В результате получим следующий алгоритм реализации шага:

где

В зависимости от выбора метода интегрирования ОДУ на элементарном шаге и конкретной формы аппроксимации y (t) в правой части ОДУ, получаются алгоритмы различной точности и быстродействия. Наиболее популярен алгоритм Рунге-Кутты четвертого порядка, описанный в большинстве книг по методам вычислений. Он обеспечивает малую погрешность для широкого класса систем ОДУ за исключением жестких систем и, при этом, довольно экономичен (на каждом шаге интегрирования требуется вычисление 4-х значений функции f):




Если по различным причинам время расчетов становится критичным или точность неудовлетворительной, стоит попробовать вместо рассмотренного алгоритма Рунге-Кутты с фиксированным шагом другие методы.  Например, если известно, что решение на рассматриваемом интервале меняется слабо, либо существуют участки медленных и быстрых его изменений, Метод Рунге-Кутты с переменным шагом основан на разбиении интервала не на равномерные шаги, а более оптимальным способом. Там, где решение меняется слабо, шаги выбираются более редкими, а в областях его сильных изменений - частыми. Это очень просто осуществить, т.к. алгоритм Рунге-Кутты является одношаговым и подразымевает простой пересчет при любом значении шага hn искомого y (tn+hn) через y (tn). Таким образом, легко обобщить алгоритм на адаптированный вариант, с выбором на каждом шаге своего hn в зависимости от локальной динамики решения на предыдущих шагах.  В результате применения адаптированного алгоритма, для достижения одинаковой точности может потребоваться существенно меньшее число шагов, чем для стандартного алгоритма Рунге-Кутты с фиксированным шагом.