- •Глава 12. Численное решение обыкновенных дифференциальных уравнений
- •12.1. Общие понятия теории оду. Их численные решения
- •12.2. Численные методы решения задачи Коши для оду первого порядка. Методы Эйлера
- •12.3. Методы Рунге – Кутты решения задачи Коши для оду первого порядка
- •12.3.1. Метод Рунге-Кутта 2-го порядка (метод Хойна)
- •12.3.2.Классический метод Рунге — Кутты 4 порядка
- •12.4. Одношаговые и многошаговые методы интегрирования оду первого порядка. Методы Адамса
- •12.4.1.Явные методы Адамса
- •12.4.2. Неявные методы Адамса
- •12.5. Методы прогноза и коррекции
- •12.5.1. Итерационная реализация методов прогноза и коррекции
- •12.6. Численные методы решения систем оду первого порядка
- •12.7. Численные методы решения оду и систем оду высоких порядков
- •12.8. Метод конечных разностей решения краевых задач для оду
12.5. Методы прогноза и коррекции
Неявные методы Адамса решения ОДУ первого порядка более точны по сравнению с явными схемами. Однако у них на завершающем этапе расчета схемы необходимо решать нелинейное в общем случае уравнение относительно величины yi+1 искомой функции y(х) в конечной точке хi+1 текущего шага интегрирования.
Методами прогноза и коррекции (которые также называют предсказывающе-исправляющими методами или схемами "предиктор-корректор") в вычислительной математике называют группу методов численного решения различных задач, у которых каждый шаг состоит из двух основных действий. Первое (предиктор) заключается в вычислении грубого начального приближения искомой величины, выполняется однократно. Второе действие (корректор) уточняет его. Данное действие может выполняться как однократно, так и итерационно неограниченное число раз - для достижения требуемой точности. В зависимости от сочетания предиктора (способа расчета начального приближения) и корректора (способа его уточнения) могут быть получены различные варианты численных методов решения задач рассматриваемого вида.
При использовании методов прогноза и коррекции в решении ОДУ можно получить высокую точность расчета. Наиболее просто принцип прогноза и коррекции может быть реализован при помощи методов Адамса, в которых для расчета очередных величин yi+1 и fi+1.применяются только ранее найденные узловые значения производной fj и последнее значение искомой функции yi. В этом случае явный метод Адамса (Адамса-Башфорта) используется в качестве предиктора, а неявный (Адамса-Мултона) - в качестве корректора. Рассмотрим примеры построения таких методов.
1. Рассмотренный ранее метод (схема) Хойна (12.12), в котором предиктором является метод Эйлера (12.8) - простейший одношаговый (k=1) вариант явного метода Адамса, сводящийся к интегрированию f(x, y) на частных отрезках по формуле левого прямоугольника. В качестве корректора используется простейший двухшаговый (k=2) неявный метод Адамса (12.15), в котором интегрирование f(x, y) выполняется по методу трапеций. Получаемая точность метода O(h2).
2. Также часто используется сочетание 4-х шаговых методов Адамса: предиктор — явная 4-х шаговая формула Адамса, корректор — неявная 4-х шаговая формула Адамса. Точность метода O(h4).
Альтернативным подходом к применению методов Адамса при построении расчетных схем в методах прогноза и коррекции является применение как в предикторах, так и в корректорах не полиномов, зависящих от узловых значений производной fj и последнего значения искомой функции yi (как в методах Адамса), а более сложных выражений, предусматривающих наряду с искомыми yi+1 и fi+1 расчет и последующее использование в формулах вспомогательных величин. За счет этого удается повысить точность методов.
Наиболее употребительными методами прогноза и коррекции данного типа при решении ОДУ первого порядка являются следующие.
1. Метод Милна. Метод четырехшаговый, причем в узле хi-3 используется не производная fi-3, а значение функции yi-3. Выполняются следующие действия:
а) вычисляют начальное "грубое" значение yi+1 искомой функции y(х) в узле i+1:
yi+1* = yi-3 + (4h/3) (2fi - fi-1 +2 fi-2);
б) рассчитывают производную y(х) в узле i+1 при грубом значении yi+1*:
fi+1* = f(xi+1,yi+1*);
в) по fi+1* определяют итоговое уточненное значение yi+1 функции y(х) в узле i+1, а также соответствующее значение производной fi+1:
yi+1 = yi-1 + (1/3) h (fi-1 + 4 fi + fi+1*),
fi+1 = f(xi+1,yi+1). (12.21)
Точность метода O(h5).
2. Метод (формулы) Хемминга, в которых сначала вычисляется "прогноз" yi+1*, затем - "поправка"yi+1, затем "коррекция" yi+1**, и только потом - итоговое приближенное решение yi+1. Метод четырехшаговый. При вычислении прогнозных значений и их коррекции используются не только узловые значения производной f(x,y(x)), но значения в узлах искомой функции y(х) и вспомогательных величин.
yi+1* = (2yi-1 + yi-2)/3 + h (191fi - 107 fi-1 +109 fi-2 - 25 fi-3)/72;
yi+1 = yi+1* - (707/750) (yi*- yi**);
yi+1** = (2yi-1 + yi-2)/3 + h (25 f(xi+1,yi+1) + 91fi + 43 fi-1 +9 fi-2)/72;
yi+1 = yi+1** +(43/750)( yi+1* - yi+1**). (12.22)
Точность метода O(h6).,
В двух последних методах прогноза и коррекции за счет отказа от использования интерполяционных полиномов и перехода к более общим формулам удалось повысить порядок метода при том же самом числе шагов, что и в 4-х шаговом методе Адамса.