3.3. Модификации метода Эйлера
Фактически, метод Эйлера получен из разложения решения дифференциального уравнения (3.1) в ряд по степеням с отбрасыванием членов, содержащих в степени выше первой. Для получения более точной формулы можно использовать еще и член, содержащий . На практике более широкое применение получали следующие два улучшенных метода Эйлера.
Модифицированный метод Эйлера
Расчетная формула модифицированного метода Эйлера имеет вид:
(3.4)
Смысл этого метода состоит в следующем. Сначала вычисляем приближенное значение решения при (то есть сдвигаемся не на шаг , а на полшага) обычным методом Эйлера (эту точку обычно обозначают , чтобы показать промежуточный характер вычислений), а затем в найденной точке определяем наклон интегральной кривой и по этому наклону определяем (рис. 3.2).
Остаточный член модифицированного метода Эйлера (т.е. локальная погрешность) на каждом шаге имеет порядок .
Метод Эйлера-Коши
Расчетная формула метода Эйлера-Коши имеет вид:
(3.6)
Здесь мы сначала определяем "грубое приближение" по методу Эйлера
(3.7)
и наклон интегральной кривой в новой точке (рис. 3.3) , а затем находим величину (как бы усредняем наклон на данном шаге ) и уточняем значение
(3.8)
Остаточный член метода Эйлера-Коши имеет на каждом шаге порядок .
3.4. Метод Рунге - Кутта
Метод Рунге-Кутта является одним из наиболее употребительных методов повышенной точности. Большинство компьютерных программ, предназначенных для численного интегрирования ОДУ, основаны именно на этом методе.
Пусть по-прежнему требуется найти численное решение уравнения , удовлетворяющее условию , на отрезке .
Обозначим приращение решения , где как раз и надо вычислить. Представим приращение в виде суммы некоторых "поправок" с некоторыми коэффициентами : . Общие формулы для этих поправок и коэффициентов мы здесь приводить не будем. Укажем лишь на то, что они получаются при сравнении разложений и по степеням .
Здесь мы ограничимся рассмотрением наиболее распространенного «четырехточечного метода Рунге-Кутта». Итак, при , , где
, , , .
С помощью этих формул находим сначала . Далее, все последующие значения приближенного решения: , , …, , …. Этот процесс можно представить геометрически. В точке вычисляется тангенс угла наклона касательной ; используя его, мы идем на половину шага вперед и смотрим тангенс угла наклона здесь . Используем его, мы опять начинаем из точки , идем вперед на половину шага и находим тангенс угла наклона . Взяв этот последний тангенс, мы опять начинаем из точки , идем вперед на полный шаг и находим тангенс угла наклона . Найденные четыре тангенса наклона усредняем с весами , , , и, беря этот средний тангенс, делаем окончательный шаг от к .
Таким образом, по методу Рунге-Кутта вычисление приближенного значения в точке производится по формулам:
, , (3.9)
, где
, , (3.10)
, .
Известно, что локальная погрешность формул Рунге-Кутта имеет порядок , значит, в данном «четырехточечном» методе она составляет .
Как видно, с алгоритмической точки зрения метод Рунге-Кутта не имеет принципиальных различий от метода Эйлера. Разница лишь в объеме вычислений: для получения нового значения на каждом шаге необходимо проделать все действия, предусмотренные формулами выше.
На практике применяется следующий способ контроля точности для метода Рунге-Кутта (аналогичный правилу Рунге оценки точности при вычислении определенного интеграла, см. лабораторную работу №2) – двойной счет. Если , , — вычисленные значения с шагом , а – вычисленные значения с шагом , то для ориентировочной оценки погрешности численного решения (в качестве его значений берутся ) можно использовать формулу:
. (3.11)