Д.П. Костомаров, А.П. Фаворский - Вводные лекции по численным методам (doc) (1113731), страница 17
Текст из файла (страница 17)
Второй порядок точности лучше, чем первый, однако практика показывает, что этой точности также недостаточно. Наиболее часто при проведении реальных расчетов используется схема Рунге-Кутта четвертого порядка точности следующего вида
, 430430\* MERGEFORMAT ()
где
431431\* MERGEFORMAT ()
Если в схеме второго порядка точности на каждом шаге функцию приходилось вычислять два раза, то здесь – четыре раза. Однако это усложнение схемы расчета окупается высокой точностью. На более подробном обсуждении схемы 430, 431 останавливаться не будем и ограничимся конкретным примером.
Задача 4.
Построить решение задачи Коши 397, 398 на отрезке с шагом
по схеме Рунге-Кутта второго порядка типа «предиктор-корректор» 411 и по схеме Рунге-Кутта четвертого порядка 430, 431. Сравнить результаты расчетов между собой и с аналитическим решением задачи 399.
Результаты расчетов по этой задаче приведены в таблице 2. Здесь в первом столбце даны значения переменной , во втором и третьем столбцах – результаты расчетов по схемам Рунге-Кутта второго и четвертого порядков, в последнем шестом столбце – значения аналитического решения 399 в узлах сетки. В четвертом и пятом столбцах приведены результаты расчетов по методу Адамса. Они будут обсуждаться в следующем разделе.
Таблица 2.
Сравнение результатов второго столбца таблицы 1, рассчитанных по методу Эйлера с шагом , с результатами второго и третьего столбца таблицы 2 показывает как уменьшается погрешность при фиксированном шаге
по мере перехода к более точным методам. Так метод Рунге-Кутта четвертого порядка, несмотря на достаточно крупный шаг, дает погрешность решения
. Это на много лучше, чем при расчете по схеме Эйлера с шагом
(см. четвертый столбец в таблице 1). В то же время при расчете по схеме Эйлера было сделано двести шагов с однократным вычислением функции
на каждом шаге, а при расчете по схеме Рунге-Кутта – восемь шагов с четырехкратным вычислением функции
на каждом шаге. Таким образом, более сложный, но и более совершенный метод позволяет при меньшем объеме вычислений получить более точный результат.
В заключение сделаем следующее замечание. Априорные оценки погрешности по схеме Эйлера 396 или Рунге-Кутта 429 представляют теоретический интерес. Они определяют скорость, с которой погрешность стремится к нулю при . Однако на практике оценки подобного типа неэффективны, поскольку содержат производные искомого решения
. Обычно точность численного решения задачи устанавливают с помощью апостериорных оценок, основанных на сравнении результатов расчетов с шагом
и
. Процедура их вывода и применения была описана в предыдущей главе в связи с задачей численного интегрирования.
-
Метод Адамса.
Адамс – английский астроном и математик XIX века, который много занимался небесной механикой. При изучении траекторий планет ему постоянно приходилось численно интегрировать уравнения их движения. Желая минимизировать объем вычислений, Адамс разработал один из наиболее экономичных методов численного решения дифференциальных уравнений, к обсуждению которого мы теперь переходим.
Пусть - решение дифференциального уравнения 373. Для производной этой функции имеет место равенство
. 432432\* MERGEFORMAT ()
Интегрируя его между двумя точками сетки, получим соотношение
. 433433\* MERGEFORMAT ()
Мы не можем использовать это соотношение непосредственно для перехода в процессе решения задачи от -ой точки сетки к
-ой, поскольку функция
нам не известна. Чтобы сделать следующий шаг, нужно приближенно заменить эту функцию на такую функцию, которую можно вычислить. Опишем, как эта проблема решается в методе Адамса.
Пусть в процессе численного решения задачи мы довели расчет до точки . В результате проведенных расчетов нам оказались известными величины
и
,
. Возьмем некоторое фиксированное целое число
и построим интерполяционный многочлен
-ой степени, принимающий в точках
,
значения
,
. 434434\* MERGEFORMAT ()
Его можно записать по формуле Лагранжа
, 435435\* MERGEFORMAT ()
где специальные многочлены вида
, 436436\* MERGEFORMAT ()
которые мы уже рассматривали в третьей главе.
Главная идея метода Адамса заключается в том, чтобы для расчета использовать формулу типа 433, приближенно заменяя в ней функцию
на интерполяционный многочлен
, составленный согласно 435 по результатам предыдущих вычислений. Это приводит к рекуррентной формуле
, 437437\* MERGEFORMAT ()
где
. 438438\* MERGEFORMAT ()
Рассмотрим более подробно данную схему численного решения задачи Коши в простейших случаях и
, когда технические трудности не закрывают прозрачную идею метода. При
для аппроксимации функции
используется полином нулевой степени, т. е. постоянная
.
В этом случае формула 437 переходит в рекуррентную формулу метода Эйлера
,
обеспечивающую первый порядок точности. Такой результат сам по себе тривиален. Мы привели его только для того, чтобы показать, что для метода Адамса, как и для метода Рунге-Кутта, исходной точкой является схема Эйлера.
Перейдем к исследованию варианта . В этом случае для аппроксимации функции
используется полином первой степени, построенный по значениям функции
в двух точках
и
:
.
Подставляя его в формулу 437 и проводя интегрирование, получим
. 439439\* MERGEFORMAT ()
Отметим следующую особенность рекуррентной формулы 439. Для расчета очередного значения сеточной функции нужно знать ее значения в двух предыдущих точках
и
. Таким образом, формула 439 начинает работать только со второй точки. Вычислить по ней
нельзя. Это значение решения разностной задачи приходится вычислять каким-нибудь другим методом, например, методом Рунге-Кутта.
Рекуррентную формулу 439 можно записать в виде разностного уравнения
. 440440\* MERGEFORMAT ()
Подсчитаем для него погрешность аппроксимации дифференциального уравнения
. 441441\* MERGEFORMAT ()
Предположим, что функция имеет в интересующей нас области изменения аргументов непрерывные вторые производные, так что решение задачи
трижды непрерывно дифференцируемо. Запишем разложения Тейлора
442442\* MERGEFORMAT ()
Подставляя их в формулу 441, получим
. 443443\* MERGEFORMAT ()
Отсюда можно написать оценку
, 444444\* MERGEFORMAT ()
где - постоянная, мажорирующая третью производную функции
:
,
. 445445\* MERGEFORMAT ()
Мы видим, что разностное уравнение метода Адамса, соответствующее случаю , аппроксимирует дифференциальное уравнение 373 со вторым порядком точности относительно
. Как и в случае метода Рунге-Кутта, это обеспечивает второй порядок точности для погрешности решения
при предположении, что значение
, которое рассчитывается нестандартно, вычислено со вторым порядком точности.
Процесс построения более точных схем можно продолжить за счет увеличения . При
получается схема третьего порядка точности, при
- четвертого и т.д. Схема четвертого порядка, как и в методе Рунге-Кутта, является наиболее употребительной, поэтому мы коротко остановимся на ее выводе и обсуждении.
Если написать интерполяционный полином третьей степени 435 на сетке из четырех точек
,
,
,
и провести интегрирование 438, то рекуррентная формула 437 примет вид:
. 446446\* MERGEFORMAT ()
Приведем еще одно форму записи этой формулы через так называемые конечные разности
, 447447\* MERGEFORMAT ()
где
448448\* MERGEFORMAT ()
Первая, вторая и третья разности 448 приближенно соответствуют первой, второй и третьей производной функции . Эквивалентность формул 446 и 447 легко проверить непосредственно. Формула 447 иногда более удобна для организации вычислительного процесса и контроля точности.
Особенность метода Адамса проявляется в формуле 446 еще сильнее, чем в формуле 439. Здесь для расчета очередного значения нужно знать значения
в четырех предыдущих точках -
,
,
,
. Таким образом, формула 446 начинает работать только с четвертой точки. Вычислить по ней
,
,
нельзя. Эти значения решения разностной задачи приходится рассчитывать другим методом, например, методом Рунге-Кутта.
Перейдем к обсуждению точности схемы 446. Если функция имеет непрерывные четвертые производные по своим аргументам в интересующей нас области их изменения, так что решение задачи
пять раз непрерывно дифференцируемо, то разностное уравнение 446 аппроксимирует дифференциальное уравнение 373 с четвертым порядком точности относительно
. Доказательство этого утверждения проводится также, как и для схемы второго порядка 439, только теперь в разложениях типа 442 нужно удерживать больше членов. Четвертый порядок точности при аппроксимации уравнения обеспечивает четвертый порядок точности для погрешности решения
при предположении, что начальные значения для метода Адамса
,
,
вычислены с такой же точностью. Они рассчитываются независимо и при этом важно, чтобы начальный этап вычислительного процесса не внес такую погрешность, которая исказит все последующие результаты.