Численные методы. Ионкин (2013) (1160444), страница 20
Текст из файла (страница 20)
Заметим, чтоlim |+1 | = 0, →0так как | | 6 1 ( 2 ) по доказанному выше. Тогда при достаточно малых получаем:(︀ )︀|+1 | = O 2 .Это означает, что рассматриваемый общий двухэтапный метод Рунге–Кутта при выполнении соответствующих условий имеет квадратичную точность по , совпадающую с оценкойпогрешности аппроксимации на решении исходного уравнения (3).§2Общий -этапный метод Рунге–КуттаРассмотрим задачу Коши для нелинейного обыкновенного дифференциального уравненияпервого порядка:⎧⎨ = (, ()), > 0(1)⎩(0) = ,0где функции () и (, ) обладают достаточной гладкостью в соответствующих областях.Считаем, решение () существует и единственно.Введем равномерную сетку в области > 0 с шагом > 0: = { = , > 0, ∈ Z+ }.Рассмотрим сеточную функцию = ( ), заданную на сетке . Пусть значения этойфункции в узлах сетки приближают значения = ( ).
Обозначим = ( , ).Общая идея -этапного метода Рунге–Кутта заключается в том, что для вычислениязначения приближенного решения в каждой следующей точке +1 вводятся дополнительных этапов. Промежуточные значения на каждом шаге ∈ Z+ вычисляются по следующим формулам:1 = ( , ),2 = ( + 2 , + 21 1 ),3 = ( + 3 , + 31 1 + 32 2 ),... = ( + , + 1 1 + 2 2 + .
. . + −1 −1 ).122Глава 5. Методы решения ОДУ и систем ОДУПри этом разностная схема для исходной задачи (1) имеет вид⎧⎨ +1 − = + + . . . + 1 12 2 ⎩ = , ∈ Z ,00+(2)где 1 , 2 , . . . , ∈ R.Будем также считать, что выполнено следующее условие аппроксимации, без которогорассмотрение метода не имеет смысла:∑︁ = 1.=1Замечание. Заметим, что формулы -этапного метода Рунге–Кутта достаточно громоздки.
Это является одной из причин того, что на практике редко используются методы Рунге–Кутта для > 4.Приведем примеры трех- и четырех- этапных методов Рунге–Кутта, имеющих третийи четвертый порядок точности соответственно.Пример 1. = 3:+1 − 1= (1 + 42 + 3 ),6где1 = ( , ),2 = ( + 0.5, + 0.5 1 ),3 = ( + , − 1 + 2 2 ).Данная схема имеет третий порядок точности по .Пример 2.
= 4:+1 − 1= (1 + 22 + 23 + 4 ),6где1 = ( , ),2 = ( + 0.5, + 0.5 1 ),3 = ( + 0.5, + 0.5 2 ),4 = ( + , + 3 ).Данная схема имеет четвертый порядок точности по .§3Многошаговые разностные методыРассмотрим задачу Коши для нелинейного обыкновенного дифференциального уравненияпервого порядка:⎧⎨ = (, ()), > 0,(1)⎩(0) = ,0где функции () и (, ) обладают достаточной гладкостью.
Считаем, что решение ()существует и единственно.Введем равномерную сетку в области > 0 с шагом > 0: = { = , > 0, ∈ Z+ }.Рассмотрим сеточную функцию = ( ), заданную на сетке . Пусть значения этойфункции в узлах сетки приближают значения = ( ). Обозначим = ( , ).§3. Многошаговые разностные методы123Определение. Линейным -шаговым разностным методом решения задачи (1) называется разностная схема вида∑︁=0− =∑︁ − ,(2)=0где ∈ N, > 0 – шаг сетки , , ∈ R, = 0, , причем 0 ̸= 0, ̸= 0.Замечание.
Уравнение (2) следует рассматривать как рекуррентное соотношение, выражающее новое значение = ( ) через найденные ранее значения −1 , −2 , . . . , − .Уравнение (2) определено для = , + 1, . . . и требует для начала расчета задания начальных значений 0 , 1 , . . . , −1 . Значение 0 = (0) определяется исходной задачей (1), а величины 1 , . . . , −1 можно вычислить с помощью других методов, например,с помощью рассмотренного выше метода Рунге–Кутта.
В дальнейшем мы будем предполагать, что величины 0 , 1 , . . . , −1 уже заданы.Если в разностной схеме (2) 0 = 0, то рассматриваемый метод называется явным, иискомое значение выражается явным образом через предыдущие:=1=1∑︁∑︁ 0 = − −− .Если 0 ̸= 0, то метод называется неявным, и для нахождения приходится решатьнелинейное уравнение0 − 0 ( , ) = (−1 , . . . , − ),где (−1 , .
. . , − ) =∑︁( − −=1− ).Обычно это уравнение решают итерационным методом Ньютона, выбирая начальное приближение равным −1 (этот метод мы рассматривали в §3 главы 3).Заметим, что коэффициенты уравнения (2) определены с точностью до множителя. Дляопределенности будем считать, что выполнено условие∑︁ = 1.=0Это означает, что правая часть разностного уравнения (2) аппроксимирует правую частьдифференциального уравнения (1).Определение. Погрешностью аппроксимации разностной схемы (2) на решении исходной задачи (1) называется сеточная функция = −∑︁=0− +∑︁ (− , − ),=0заданная на сетке , где = ( ) — решение исходной задачи (1).(3)124Глава 5. Методы решения ОДУ и систем ОДУВыясним вопрос о порядке погрешности аппроксимации при → 0 в зависимости отвыбора коэффициентов , , = 0, .
Будем предполагать в дальнейшем, что все рассматриваемые функции обладают необходимой гладкостью. Разложим − по формулеТейлора в точке :− = ( − ) =∑︁(− )!=0(︀)︀() ( ) + O +1 .Разложим правую часть исходного дифференциального уравнения в этой же точке:′− = ( − ) = ( − ) =−1∑︁(− )!=0(︀ )︀(+1) ( ) + O .Подставим эти разложения в выражение (3) и получим−1∑︁∑︁∑︁(︀ )︀ ∑︁ (− ) ()(− ) (+1) = − ( ) +( ) + O .!!=0=0=0=0Передвинем на единицу индекс суммирования во втором слагаемом, а также домножими поделим на выражение, стоящее под знаком суммирования: = − ∑︁∑︁ (− )=0 =0() ( ) +! ∑︁∑︁=1 =0 (︀ )︀(− )−1 () ( ) + O .( − 1)!Объединив две суммы под общим знаком суммирования (для этого необходимо выписатьотдельно нулевое слагаемое первой суммы), получим)︃(︃ ∑︁∑︁∑︁∑︁ (− )(︀ )︀(− )−1 ()() = −( ) + ( ) + ( ) + O .−!!=0=1=1=1После очевидных преобразований получаем: = −∑︁=0( ) + ∑︁∑︁(− )−1=1 =0!(︀ )︀() ( )( + ) + O .Отсюда видно, что погрешность аппроксимации (3) имеет порядок , если выполненыследующие условия:∑︁ = 0,=0∑︁ −1 ( + ) = 0, = 1, 2, .
. . , .=0Вместе с условием нормировки∑︁ = 1=0эти условия образуют систему из ( + 2)-ух линейных алгебраических уравнений относительно 2( + 1) неизвестных 0 , 1 , . . . , , 0 , 1 , . . . , .§3. Многошаговые разностные методы125Полученную систему можно несколько упросить. Рассмотрим последние условия при = 1:∑︁( + ) = 0,=0∑︁ = −=0то есть∑︁ = −1,=0∑︁ = −1.=0Окончательно получаем следующую систему уравнений:⎧∑︀⎪⎪ = −1,⎨=1∑︀⎪⎪ −1 ( + ) = 0,⎩(4) = 2, ,=0в которой коэффициенты 0 , 0 вычисляются по формулам0 = −∑︁ ,0 = 1 −=1∑︁ .=1Таким образом, мы уменьшили число уравнений в системе до и число неизвестных до2.
Чтобы система не была переопределенной (в таких системах число уравнений большечисла неизвестных) необходимо выполнение условия 6 2.Таким образом наибольший возможный порядок аппроксимации неявных -шаговыхразностных методов равен 2, явных — (2 − 1), так как в явных методах 0 = 0, и числонеизвестных в системе (4) меньше на единицу по сравнению с системой, записанной длянеявного метода.Замечание 1.
Если убрать последние уравнений системы (4), = (︀1, ( −)︀ 1), то полу−чим условия, обеспечивающие порядок погрешность аппроксимации O .Замечание 2. В практике вычислений наибольшее распространение получили методыАдамса, которые представляют собой частный случай многошаговых методов (2), когдапроизводная ′ () в исходном уравнении аппроксимируется по двум крайним точкам 0 и , то есть 0 = 1, 1 = −1, = 0, = 2, : − −1 ∑︁= − .=0Замечание 3. Разностные схемы вида (2), обладающие наивысшими порядками аппроксимации на решении исходного уравнения, неустойчивы и не могут быть использованына практике. Максимальный порядок аппроксимации устойчивого неявного -шаговогометода не превосходит ( + 1), если нечетно, и не превосходит ( + 2), если четно.Порядок аппроксимации устойчивых явных схем не превосходит . Подробнее понятиеустойчивости -шагового разностного метода мы рассмотрим в следующем параграфе.В завершение рассмотрим достоинства и недостатки многошаговых разностных методов по сравнению с методом Рунге–Кутта.Достоинства:126Глава 5.
Методы решения ОДУ и систем ОДУ1. Формулы многошаговых методов значительно проще.2. Многошаговые методы позволяют достигать большей точности.Недостатки:1. В многошаговых методах необходимо хранить в памяти большее число элементов —значения нескольких предыдущих шагов вместо одного.2. Многошаговые методы требуют наличия «разгонного этапа», то есть значений нескольких первых шагов, которые нельзя вычислить по многошаговым формулам.
Как мыуже упоминали, эти значения обычно вычисляют с помощью метода Рунге–Кутта.§4Понятие устойчивости разностного методаИзвестно, что на практике вычисления проводятся приближенно, то есть при задании исходных данных и в процессе самих вычислений допускаются погрешности. Численный метод называется устойчивым, если погрешности, допущенные на каком-то этапе вычислений, не оказывают существенного влияния на результат. Разумеется, такого описательногоопределения недостаточно для исследования устойчивости конкретных алгоритмов. Существуют математически строгие и более узкие определения устойчивости, некоторые изних будут приведены в следующих параграфах.
Сейчас ограничимся тем, что рассмотримнесколько характерных примеров.Явление неустойчивости часто возникает в процессе решения разностных уравнений.Так, если решать уравнение+1 = ,где ∈ Z+ , ∈ C — некоторая константа, а 0 — задано, то при || > 1 погрешность будет возрастать при переходе от шага к шагу ( + 1). Действительно, пусть вместо врезультате ошибок округления получено значение̃︀ = + .Тогда при вычислении +1 получим значение̃︀+1 = ̃︀ = + = +1 + ,то есть погрешность +1 = на новом шаге увеличится. В этом случае метод неустойчив,и при проведении расчетов на ЭВМ при достаточно большом может произойти переполнение разрядной сетки. Если же || 6 1, то погрешность, допущенная на каком-либо шагевычислений, будет не возрастать на следующих шагах.Процесс численного решения задачи Коши для обыкновенных дифференциальных уравнений также может оказаться неустойчивым.
Поясним это на примере простого уравнения⎧⎨ ()+ () = 0, = > 0, > 0,(1)⎩(0) = .0Его решение (() = 0 − ) монотонно убывает с ростом . В частности, для решения этогоуравнения справедливо следующее неравенство:|()| 6 |0 |, > 0,(2)означающее непрерывную зависимость (иначе говоря, устойчивость) решения уравнения (1)от начальных данных.§4. Понятие устойчивости разностного метода127Естественно требовать, чтобы и для разностных схем, аппроксимирующих уравнение (1),выполнялись оценки, аналогичные (2). Однако такие оценки для разностных схем выполняются далеко не всегда.Пример 1.
Рассмотрим, например, явную разностную схему Эйлера для решения задачи (1):+1 − + = 0,где > 0, ∈ Z+ , 0 = 0 , и перепишем ее в виде+1 = , ∈ Z+ ,|+1 | 6 | |, ∈ Z+где = 1 − .Тогда оценка2будет выполняться тогда и только тогда, когда || 6 1, то есть при 6 . В этом случае2схема называется устойчивой, а само неравенство 6 называется условием устойчивости.Если оно нарушено, то || > 1, и погрешности, допущенные в процессе вычислений, будутвозрастать с ростом .Определение. Разностная схема называется абсолютно устойчивой, если эта схемаустойчива при любых допустимых значениях своих параметров (то есть при значениях,при которых разностная схема определена).Пример 2. Приведем пример абсолютно устойчивой разностной схемы. Для уравнения′ () = (, ()),(3)для некоторой функции (, ), рассмотрим неявную схему Эйлера+1 − = (+1 , +1 ),где ∈ Z+ , 0 = 0 .Схема называется неявной потому, что для нахождения +1 приходится решать уравнение+1 − (+1 , +1 ) = .Это уравнение можно решить, например, с помощью метода Ньютона, описанного в §3главы 3.