Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное_пособие_Математические_методы_в_экологии_360.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
2.7 Mб
Скачать

6.3 Обыкновенные ду. Методы прогноза и коррекции

B методах Рунге–Кутты при вычислении следующей точки xm+1, ym+1 используется информация только о точке хm , уm, но не о предыдущих.

В методах второго порядка и выше приходится вычислять значение функции в одной или в нескольких промежуточных точках. Это представляется нерациональным: если процесс интегрирования продвинулся на несколько шагов, у нас есть дополнительная информация – информация о предыдущих точках решения.

В методах Рунге–Кутты информация о предыдущих точках решения не используется, а также отсутствуют достаточно простые способы оценки ошибки.

Поэтому были развиты другие методы решения дифференциальных уравнений – методы прогноза и коррекции.

Особенность этих методов – с их помощью нельзя начать решение уравнения, т. к. в них не только возможно, но и необходимо использовать информацию о предыдущих точках решения.

Из названия ясна идея метода – делается «предсказание» значения ym+1, а затем используется тот или иной метод для «корректировки» этого значения. Корректировка может производиться неоднократно.

Для прогноза используется формула второго порядка

(6.24)

где верхний индекс (0) означает исходное приближение к ym+1, т. е. предсказанное значение.

Из формулы (6.24) следует, что с ее помощью нельзя вычислить у1 – для вычисления у1 потребовалась бы точка, расположенная перед начальной точкой у0.

Методы прогноза и коррекции (в отличие от методов Рунге–Кутты) не являются самостартующими.

Чтобы начать решение, часто используется метод Рунге–Кутты. Теперь требуется некоторый метод коррекции предсказанного значения. Этапы поиска решения показаны на рис. 6.5 и 6.6. Поскольку нам приближенно известна величина ym+1, то можно вычислить наклон касательной в точке xm+1, y(0)m+1. Эта касательная изображена на рис. 6.6 и обозначена L2.

Прямая L1 на рис. 6.5 представляет собой то же самое, что и на рис. 6.4, и тангенс угла ее наклона равен f (xm, уm).

Рис. 6.5. Геометрическое представление прогнозирующей формулы второго порядка

Рис. 6.6. Геометрическое представление формулы коррекции второго порядка

Точка пересечения линии L с ординатой х = xm+1 дает новое приближение к ym+1.

Н азовем это приближение скорректированным значением y(1)m+1. Вычислить его можно по формуле

Можно попытаться найти новое, по-видимому, еще лучшее приближение к ym+1, используя значение y(1)m+1 и корректируя снова.

В общем случае, i-е приближение к ym+1 вычисляется по формуле

(6.25)

для i = 1, 2, 3, … .

Итерационный процесс прекращается, когда

(6.26)

для некоторого положительного ε.

Возникает естественный вопрос, удастся ли вообще когда-нибудь удовлетворить условию (6.26), т. е. сходится ли процесс вообще?

М ожно показать, что если производная ограничена, т. е. можно найти такое М, что

то при выполнении условия для h

,

(6.27)

разница между последовательными скорректированными значениями стремится к нулю и процесс сходится.

Нужно четко представлять себе, что же именно было показано.

Мы показали, что последовательные значения y(i)m+1 сходятся к некоторому определенному значению, но вовсе не обязательно к точному решению уравнения.

Разница между тем и другим представляет собой ошибку ограничения, которую мы рассмотрим позже.

Также мы рассмотрим вопрос о скорости сходимости итерационного процесса. Очевидно, что чем меньше h, тем скорее процесс будет сходиться.

Р ассмотрим внимательнее формулу коррекции (6.25). Предположим, что f является функцией только от х, т. е.

так что

.

(6.28)

Т огда

Здесь опущены верхние индексы при ym+1, т. к. первое же значение ym+1 будет «точным» (если пренебречь ошибками ограничения и округления).

И з этой формулы легко получить

Э то просто формула трапеций для вычисления интеграла (6.28), где x = x0 + nh. Таким образом, рассмотренная нами формула коррекции является обобщением формулы трапеций, так же как классический метод Рунге–Кутты оказался обобщением формулы Симпсона.

Заметим, что формула коррекции

является неявной в том смысле, что ym+1 входит и в правую, и в левую ее части, причем слева стоит то значение, которое должно быть вычислено в качестве следующего приближения, а справа стоит предыдущее приближение.

Анализ ошибок при использовании методов прогноза и коррекции

Анализ ошибок, возникающих при использовании методов прогноза и коррекции, удобно провести в несколько приемов.

Сначала рассмотрим ошибки ограничения прогноза (6.24) и коррекции (6.25). Результаты этого анализа выразятся через величины, уже вычисленные в процессе нахождения решения.

Затем рассмотрим вопрос выбора шага интегрирования h и, наконец, затронем вопросы устойчивости: возрастает ли ошибка (ограничения, округления или ошибка исходной информации) с ростом х.

Ч тобы определить ошибку ограничения прогноза (6.24), вспомним, что ряд Тейлора для у(х) в окрестности х = хm можно записать в следующем виде:

г де ξ лежит между х и хm. Полагая x = xm+1, получаем

П олагая x = xm-1, находим

Если вычесть одно из другого эти два равенства и заметить, что

т о тогда

Ошибка ограничения, таким образом, равна

(6.29)

Если третья производная практически постоянна, то ошибка ограничения равна Kh3, что и подразумевалось ранее, когда мы говорили, что прогноз (6.24) относится к методам второго порядка.

Мы уже отмечали, что коррекция (6.25) является обобщением формулы трапеций. В предыдущей теме («Численное интегрирование») было найдено выражение для ошибки ограничения формулы трапеций

(6.30)

Здесь ошибка тоже пропорциональна h 3.

Тот факт, что ошибки ограничения и прогноза и коррекции обе имеют одинаковый порядок, позволяет предложить простой метод оценки следовательно, и оценки

Пусть Ym – точное значение решения при х = хm. Тогда

и

г де y(0)m и y(i)m вычислены по формулам (6.24) и (6.25).

Вычитая эти равенства одно из другого, получаем

Е сли предположить, что практически постоянна на интервале xm-1 £ x £ xm+1 , то

и

(6.31)

Величины, которые требуются для этой оценки, являются просто результатами вычислений по формулам (6.24) и (6.25).

Таким образом, в противоположность методу Рунге–Кутты метод прогноза и коррекции дает в качестве побочного продукта вычислений легко определяемую оценку ошибки ограничения. Заметим, что эта оценка получилась такой простой потому, что ошибки ограничения прогноза и коррекции были одного порядка, в данном случае пропорциональны h3. Желательно, поэтому, чтобы любая пара прогноз–коррекция обладала этим свойством.

Рассмотрим теперь вопрос выбора величины шага h.

К сожалению, не существует формул для выбора шага интегрирования до начала решения задачи, за исключением, может быть, формулы (6.27), но, как правило, пользоваться ею довольно неудобно.

Дело в том, что может быть весьма трудно оценить величину М, а если к тому же она сильно меняется на интервале интегрирования, то выбирать величину шага по формуле (6.27) было бы для большей части интервала очень неэкономично, т. к. h получилось бы слишком малым.

Однако, как только вычисления начались, можно оценить ошибку ограничения по формуле (6.31). Если эта ошибка слишком велика, то мы уменьшаем величину шага (часто путем деления пополам).

Если же ошибка гораздо меньше допустимой, то мы увеличиваем величину шага (очень часто это делается путем удвоения).

Можно сделать еще одно замечание по поводу выбора величины шага h.

Из формулы (6.27) следует, что метод сходится, если h < 2/M. Значение М нам неизвестно.

Все же в любом случае очевидно, что чем меньше величина h, тем скорее сойдется итерационный процесс.

Можно поставить вопрос следующим образом: если взять слишком малое h, то на каждую точку потребуется немного итераций, но количество точек будет велико; если же взять большое h, то на каждую точку затратится больше итераций, но само количество точек будет меньше.

Этот вопрос весьма важен, т. к. при прочих равных условиях желательно составить программу так, чтобы затраты машинного времени были минимальными.

Существуют веские эмпирические соображения, согласно которым оптимальное число итераций равно двум. Под «оптимальностью» здесь понимается минимальный объем вычислений при заданной точности. Другими словами, шаг интегрирования нужно выбирать так, чтобы критерий сходимости (6.26) ( ) выполнялся после двух итераций.

Этот критерий легко запрограммировать. Мы подсчитываем количество итераций; если требуется более двух итераций, то мы уменьшаем величину шага; если достаточно одной итерации, то величину шага можно увеличить.

Кратко рассмотрим вопрос устойчивости, т. е. распространения и роста ошибки, возникшей в ходе вычислений.

Не углубляясь в выкладки, можно сказать, что рассмотренный метод обладает относительной устойчивостью в предположении, что fy постоянна.

В большинстве практически интересных случаев это будет не так, но существуют убедительные эмпирические соображения, согласно которым в общем случае относительные ошибки в относительно устойчивых процессах не возрастают. То же самое можно сказать и об абсолютных ошибках в абсолютно устойчивых процессах.

Итак, метод прогноза и коррекции, описываемый формулами (6.24) и (6.25), является относительно устойчивым процессом. Более того, он является абсолютно устойчивым процессом, когда fy < 0.