Численные методы решения задачи Коши для систем обыкновенных дифференциальных уравнений
8.4. Оценка погрешности
8.4.1. Автоматический выбор шага интегрирования
Рунге предложил простое правило оценки точности метода, основанное на проведении вычислений с разными шагами интегрирования. Основная идея правила Рунге заключается в следующем.
Погрешность численного метода порядка p - 1 в точке представляется в виде
Если выполнить аналогичные вычисления с шагом вдвое меньшим, то получим
После вычитания из первого соотношения второго
откуда
Подставив выражение для C во второе соотношение, получим
т.е. погрешность метода, с точностью оценивается по простой формуле
Это правило используется не только для оценки погрешности вычисления, но и для автоматического выбора шага интегрирования. Для этого на каждом шаге вычисления производятся трижды: с шагом и с двумя шагами Полученные значения un и u2n используются для вычисления реальной погрешности (точнее, оценки ее главного члена). Если величина превышает некую заданную (или заранее выбранную) константу то шаг интегрирования уменьшается; если, напротив, существенно меньше то увеличивается.
Разумеется, алгоритмы выбора шага интегрирования могут основываться и на иных принципах. Например, можно выбрать адаптирующимся к решению: уменьшать при увеличении абсолютной величины производной и увеличивать при ее уменьшении, т.е. вычислять как функцию от
Управление длиной шага в методах Рунге - Кутты осуществляется на основе сравнения с некоторой задаваемой величиной T, характеризующей требования к погрешности на каждом шаге численного интегрирования системы.
Пусть используется метод с порядком аппроксимации p. Тогда главный член погрешности метода определяемый по правилу Рунге, или, в случае использования вложенных методов Рунге - Кутты, представляющий собой модуль разности между приближениями к решению, вычисленными по формулам (8.5) и (8.6), имеет вид
Положим теперь Тогда для величины максимального значения нового шага интегрирования получаем
где — так называемый гарантированный множитель. Он служит для того, чтобы в случае резкого уменьшения шага (например, при выходе на жесткий участок при решении умеренно жестких систем ) численный метод оставался устойчивым.
Кроме того, гарантированный множитель помогает избежать слишком быстрого увеличения величины шага интегрирования в случае, когда реально полученная погрешность мала. Обычно величина гарантийного множителя принимается за 0, 5; 0, 8; 0, 9 или
Если при выполнении очередного шага погрешность не превосходит величины T, то шаг считается принятым, а дальнейший расчет продолжается с шагом в противном случае шаг считается отклоненным, и проводится пересчет с новым значением шага для перехода от tn к tn + 1.
На практике применяют модернизации алгоритма выбора шага. Так, если реальная ошибка мала, то предлагаемый алгоритм позволяет выбрать очень большой шаг по В таком случае применяют алгоритм
Здесь — максимальное и минимальное разрешенное изменение шага интегрирования.
Другая возможность регулировки шага численного интегрирования для методов Рунге - Кутты заключается в объединении достоинств методов Рунге - Кутты и Адамса. Первые из них допускают легко регулировать шаг интегрирования, а вторые помнят часть предыстории изменения функции.
Более тонкий алгоритм управления величиной шага получается с учетом величины ошибки на предыдущем шаге
т.е. фактически гарантийный множитель зависит от ошибки на предыдущем шаге. Обычно при таком выборе управления длиной шага полагается
Такой выбор регулировки шага повышает устойчивость численных методов Рунге - Кутты не очень высокого порядка. Для метода Дормана - Принса порядка 8(7) лучшие результаты дает
В [8.10] показано, что такой метод выбора шага является решением задачи оптимального управления с учетом пропорциональной обратной связи и интегральной обратной связи. Там же показано, что оптимальный выбор показателей степени есть