Д.П. Костомаров, А.П. Фаворский - Вводные лекции по численным методам (doc) (1113731), страница 16
Текст из файла (страница 16)
Если его оборвать на члене порядка и положить в соответствии с дифференциальным уравнением 373
, то мы придем к схеме Эйлера.
Сделаем следующий шаг. Оборвем разложение 400 на члене порядка и воспользуемся для вычисления производной
формулой 392. В результате получим новое рекуррентное соотношение, более сложное чем 378,
, 401401\* MERGEFORMAT ()
которое можно также записать в виде разностного уравнения
. 402402\* MERGEFORMAT ()
Здесь, как и в предыдущем разделе, мы обозначили искомую функцию в разностном уравнении 402 буквой , а не
, чтобы подчеркнуть, что 373 и 402 – это два разных уравнения.
Уравнение 401, дополненное начальным условием 377, дает явную разностную схему численного решения рассматриваемой задачи Коши. По рекуррентной формуле можно последовательно рассчитать все значения сеточной функции и получить таким образом приближенное решение задачи 373, 374. Исследование показывает, что такая усложненная схема имеет второй порядок точности относительно
как для аппроксимации уравнения, так и для погрешности решения. Существенно то, что основная идея данного подхода допускает дальнейшее развитие. Если оборвать разложение 400 на члене порядка
,
и т. д., то получатся разностные схемы третьего, четвертого и более высоких порядков точности.
Однако у данного подхода есть существенный недостаток. При расчетах по схеме Эйлера требуется вычислять только значения функции . В схеме же 401 на каждом шаге приходится вычислять не только функцию
, но и ее первые производные
и
. Если мы, оставив в разложении 400 члены до
включительно, построим схему четвертого порядка точности, то на каждом шаге придется вычислять десять величин: функцию
, две ее первых производных, три вторых производных и четыре третьих производных. Это существенно усложнит разработку программы и нарушит важный принцип вычислительной математики – использовать в расчетах только те величины, которые задаются условиями задачи. Формулировка задачи Коши предполагает, что известен алгоритм вычисления функции
по значениям ее аргументов. Если этот алгоритм сводится к расчету по простой формуле, то вычисление производных не составляет труда. Однако возможны и такие варианты представления алгоритма, при которых вычисление производных функции
либо очень сложно, либо практически невозможно. Поэтому при разработке разностных схем высокого порядка точности стремятся заменить вычисление производных функции
вычислением самой функции в нескольких точках. В следующих разделах мы рассмотрим, как это удается сделать.
-
Метод Рунге-Кутта.
Рассмотрим правую часть разностного уравнения 402, содержащую первые производные от функции . Главная идея метода Рунге-Кутта состоит в том, чтобы приближенно заменить ее на сумму значений функции
в двух разных точках с точностью до членов порядка
. С этой целью положим:
403403\* MERGEFORMAT ()
где ,
,
,
- четыре свободных параметра, которые нужно подобрать так, чтобы правая часть равнялась левой с нужной степенью точности.
Разложим функцию по степеням
:
, 404404\* MERGEFORMAT ()
подставим разложение 404 в формулу 403 и приравняем слева и справа члены, не содержащие и содержащие
в первой степени. В результате получим для четырех параметров три уравнения
,
,
. 405405\* MERGEFORMAT ()
Они позволяют выразить параметры ,
,
через
:
,
,
. 406406\* MERGEFORMAT ()
Заменяя с помощью 403 левую часть уравнения 402 и отбрасывая члены порядка , получим однопараметрическое семейство разностных схем Рунге-Кутта:
. 407407\* MERGEFORMAT ()
Уравнение 407, как и 376, можно записать в виде удобного для расчетов рекуррентного соотношения
. 408408\* MERGEFORMAT ()
Наиболее удобные разностные схемы этого семейства соответствуют двум значениям параметра :
и
. При
рекуррентная формула 408 принимает вид
. 409409\* MERGEFORMAT ()
Она определяет следующую процедуру расчета . Сначала делается шаг
по схеме Эйлера и вычисляется величина
. 410410\* MERGEFORMAT ()
Затем находится значение функции в точке
, составляется полусумма
и проводится окончательный расчет величины
. 411411\* MERGEFORMAT ()
Такая схема вычислений называется «предиктор-корректор» или буквально «предсказание-исправление». Вычисление по схеме Эйлера 410 – это грубое предсказание результата. Вторичный расчет 411, сделанный на основании первого, является уточнением результата, его коррекцией.
При рекуррентная формула 408 имеет вид
. 412412\* MERGEFORMAT ()
Здесь схема расчета заключается в следующем. Сначала делается половинный шаг : по схеме Эйлера вычисляется величина
. 413413\* MERGEFORMAT ()
Затем находится значение функции в точке
. Оно определяет по формуле 412 очередное значение
.
Следует заметить, что процедура расчета приближенного решения задачи Коши 373, 374 по схеме 407 по сравнению со схемой Эйлера усложняется: теперь на каждом шаге функцию приходится считать не один, а два раза. Однако такое усложнение оказывается оправданным благодаря более высокой точности метода. К исследованию проблемы точности мы теперь и переходим.
Введем, как и в предыдущем разделе, две сеточные функции: погрешность решения 379 и погрешность аппроксимации уравнения
. В рассматриваемом случае она определяется формулой
. 414414\* MERGEFORMAT ()
Выразим по формуле 381 через
и
и подставим в разностное уравнение 402. В результате получим
. 415415\* MERGEFORMAT ()
Формулу 415 можно переписать в виде
416416\* MERGEFORMAT ()
Здесь мы перенесли член слева направо и в каждое из двух выражений, собранных в фигурных скобках, добавили одно и то же слагаемое. Поскольку между фигурными скобками стоит знак минус, значение правой части формулы 416 в целом при этом не меняется. Однако благодаря таким преобразованиям мы собрали во вторых фигурных скобках члены, которые дают погрешность аппроксимации дифференциального уравнения
414.
Перейдем к дальнейшему исследованию соотношения 416. Рассмотрим функцию
. 417417\* MERGEFORMAT ()
Выражение, стоящее в первых фигурных скобках формулы 416, можно записать как разность значений этой функции при и
и преобразовать эту разность с помощью формулы конечных приращений Лагранжа
,
, 418418\* MERGEFORMAT ()
где
. 419419\* MERGEFORMAT ()
Подставим полученные выражения для отдельных слагаемых в формулу 416. В результате она примет вид рекуррентной формулы
,
, 420420\* MERGEFORMAT ()
которую нужно дополнить нулевым начальным условием 384. Использовать эту формулу для последовательного вычисления значений сеточной функции нельзя: в ее правую часть входят неизвестные аргументы:
,
,
. Однако эту систему рекуррентных равенств можно заменить системой рекуррентных неравенств для последующей оценки
.
Предположим, как и при исследовании метода Эйлера, что частная производная в интересующей нас области изменения ее аргументов ограничена 386. Тогда с учетом формулы 419 для производной
получим
,
. 421421\* MERGEFORMAT ()
С учетом этого рекуррентные равенства 420 можно заменить рекуррентными неравенствами
, 422422\* MERGEFORMAT ()
которые полностью совпадают с неравенствами 388 предыдущего раздела. Мы уже знаем, что из них следует оценка нормы погрешности решения через норму погрешности аппроксимации уравнения
. 423423\* MERGEFORMAT ()
Теперь нужно оценить норму погрешности аппроксимации уравнения 414. Предположим, что функция имеет в интересующей нас области изменения своих аргументов непрерывные вторые производные и, следовательно, решение дифференциального уравнения
трижды непрерывно дифференцируемо. Это позволяет написать следующие разложения Тейлора
, 424424\* MERGEFORMAT ()
425425\* MERGEFORMAT ()
где
,
,
,
,
.
Здесь последние слагаемые в обоих разложениях представляют собой остаточные члены в форме Лагранжа, которые берутся в неизвестных нам промежуточных точках.
Подставим разложения 424, 425 в формулу 414 для погрешности аппроксимации дифференциального уравнения 373 и примем во внимание соотношения, вытекающие из этого уравнения
426426\* MERGEFORMAT ()
Благодаря 426 члены нулевого и первого порядков относительно сокращаются и остаются только члены второго порядка, обязанные своим происхождением остаточным членам в разложениях 424, 425. В результате получается следующее представление для погрешности аппроксимации уравнения
427427\* MERGEFORMAT ()
Функции, входящие в правую часть этого соотношения, по предположению непрерывны и ограничены в интересующей нас области изменения своих аргументов. Это позволяет заменить равенство 427 неравенством
, 428428\* MERGEFORMAT ()
где - константа, мажорирующая выражение в фигурных скобках формулы 427. Подставляя оценку 428 в неравенство 423, получим
. 429429\* MERGEFORMAT ()
Таким образом, при погрешность аппроксимации уравнения и, как следствие, погрешность решения стремятся к нулю со скоростью
. Это означает, что разностное уравнение 407, полученное по схеме Рунге-Кутта, имеет второй порядок точности относительно
.