Главная > Математика > Численные методы
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

3. Метод Рунге — Ромберга.

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

Из формулы (12) видно, что погрешность простейшей формулы (7) для четырежды дифференцируемой функции имеет вид , где — некоторая точка вблизи узла Если липшиц-непрерывна, то оценку нетрудно уточнить:

Пусть в общем случае имеется некоторая приближенная формула для вычисления величины по значениям на равномерной сетке с шагом h, а остаточный член этой формулы имеет следующую структуру:

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

Заметим, что Имея два расчета на разных сетках, нетрудно оценить величину погрешности. Для этого вычтем (13) из (14) и получим первую формулу Рунге:

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

Можно исключить найденную погрешность (15) из формулы (13) и получить результат с более высокой точностью по второй формуле Рунге:

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

Таблица 7

Пример 1. Пусть функция задана таблицей 7 и требуется вычислить Выберем для вычислений простейшую формулу (6). Полагая , т. е. производя вычисления по точкам получим . Увеличивая шаг вдвое , т. е. вычисляя производную по точкам получим . Проводя вычисления по формуле Рунге (16), где согласно оценке (6) берется получим уточненное значение ; это всего 2% отличается от искомого значения .

Пример 2. Выведем формулу высокой точности из формулы низкой точности.

Возьмем простейшую формулу для вычисления первой производной в середине интервала (8) и запишем ее, выбирая сначала соседние узлы, а затем более удаленные:

Порядок точности формулы , а коэффициент увеличения шага , поэтому уточнение методом Рунге дает формулу (9):

Отсюда видно, что для получения высокого порядка точности не обязательно производить вычисления непосредственно по формулам высокого порядка точности; можно произвести вычисления по простым формулам низкой точности на разных сетках и затем уточнить результат методом Рунге. Последний способ предпочтительней еще потому, что величина поправки (15) дает апостериорную оценку точности.

Метод Рунге обобщается на случай произвольного числа . Пусть функция имеет достаточно высокие непрерывные производные. Тогда в разложениях Тейлора типа (11) можно удерживать большое число членов и подстановка их в формулы типа приводит к представлению остаточного члена в виде ряда

Пусть расчет проведен на q различных сетках с шагами . Тогда из остаточного члена можно исключить первые слагаемых. Для этого перепишем соотношение (17), оставляя первые члены погрешности:

Это система линейных уравнений относительно величии Решая ее по правилу Крамера, получим уточненное значение по формуле Ромберга

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

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

Для этого берут последовательные пары сеток и т. д. По каждой паре производят уточнение методом Рунге, исключая тем самым главный член погрешности . Поэтому в уточненных величинах главный член погрешности будет иметь вид , где шаг можно условно принять для первой пары сеток за для второй — за и т. д. (это верно, только если одинаково для всех пар сеток). Уточненные значения таким же образом группируют в пары и исключают ошибку следующего порядка Всего можно произвести уточнение, на единицу меньше числа сеток. При каждом уточнении вычисляется погрешность (15), дающая апостериорную оценку точности на данном этапе вычислений. Пример такого вычисления будет дан в главе IV.

Замечание 1. Если исходная формула для вычисления имеет симметричный вид, то на равномерной сетке обычно все нечетные члены ряда (17) обращаются в нуль. При этом пользоваться общей формулой (18) можно, но невыгодно, ибо она не учитывает дополнительной информации о нулевых коэффициентах. Следует оставить в сумме (17) только степени и соответственно изменить формулу Ромберга. Аналогично изменяется рекуррентная процедура Рунге: при очередном исключении ошибки порядок точности повышается не на 1, а на 2. Примером может служить данный выше вывод формулы (9) из формулы (8), когда после первого уточнения погрешность уменьшилась с сразу до

Замечание 2. Допустимое число членов суммы (17) связано с количеством существующих у функции непрерывных производных. Поэтому для недостаточно гладких функций бессмысленно брать большое число сеток. Практически даже для «хороших» функций используют не более 3 — 5 сеток; обычно отношение их шагов стараются выбрать равным 2.

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

Но если выбранные конфигурации узлов на всех сетках подобны относительно точки (рис. 14, а), то зависимость от узлов одинакова для всех сеток и сводится к величине шага. Тогда метод Рунге — Ромберга применим. Если же правило подобия нарушено (рис. 14, б, в), то метод применять нельзя.

Поэтому при численном дифференцировании метод Рунге—Ромберга удается применять только для нахождения производных в узлах или серединах интервалов равномерных (или описанных далее квазиравномерных) сеток. Но эти случаи являются достаточно важными в практических приложениях. Особенно широко применяется описанный метод при численном интегрировании и разностных методах решения задач для дифференциальных и интегральных уравнений.

Рис. 14.

<< Предыдущий параграф Следующий параграф >>
Оглавление