main (1160446), страница 20
Текст из файла (страница 20)
Методы решения ОДУ и систем ОДУПокажем, что | | 6 | |, ∈ Z+ , где константа не зависит от шага , — погрешность аппроксимации на решении исходной задачи (3): = −+1 − + (1 − ) ( , ) + ( + , + ( , )).Перепишем задачу (16) в эквивалентном виде, сформировав погрешность аппроксимациипутем добавления недостающих слагаемых:+1 − +1 − =−+ (1 − ) ( , )+ ( + , + ( , ))++(1 − )( ( , )− ( , ))+(︀)︀+ ( + , + ( , ))− ( + , + ( , )) =(17)(2)= + (1) + ,где(1) = (1 − )( ( , )− ( , )),(︀)︀(2) = ( + , + ( , ))− ( + , + ( , )) .Пусть функция (, ) удовлетворяет условию Липшица по второму аргументу с константой > 0:| (, ) − (, )| 6 | − |, (, ), (, ) ∈ .Замечание.
Требование липшицевости функции (, ) естественно, так как являетсяусловием того, что решение исходной задачи (3) существует и единственно.Как правило, на практике выбирают 0 6 6 1, > 0. Воспользуемся этими условиями(1)(2)и оценим выражения и :|(1) | = (1 − )| ( , ) − ( , )| 6 (1 − )| − | = (1 − )| |,|(2) | 6 | + ( , ) − − ( , )| 6(︀)︀6 | − | + | ( , ) − ( , )| 6 (| | + | |) =(1 + )| |.(1)(2)Пусть 6 0.5. Оценим сумму | | + | |:(2)2|(1) | + | | 6 (1 − )| | + (1 + )| | = | | + | | 6 (1 + 0.5 )| |.Приступим к получению оценки точности. Запишем равенство (17) в виде +1 = +(1)(2) + + . Далее, очевидно, справедлива оценка:(2)2 2|+1 | 6 | | + | | + (|(1) | + | |) 6 (1 + + 0.5 )| | + | |.Заметим, что слагаемые в сумме (1+ +0.5 2 2 ) являются первыми членами разложенияфункции по формуле Тейлора по переменной в окрестности нуля.
Следовательно,(1 + + 0.5 2 2 ) 6 .Тогда|+1 | 6 | | + | |.Введем обозначение = . Тогда|+1 | 6 | | + | |, ∈ Z+ .§35. Общий -этапный метод Рунге–Кутта119Раскроем полученное рекуррентное соотношение:+1|+1 | 6 |0 | + ∑︁− | |.=0Так как 0 = 0, то получаем:|+1 | 6 max | | .066Учтем, что 6 , тогда:|+1 | 6 max | |,066где константа = > 0 не зависит от . Заметим, чтоlim |+1 | = 0, →0так как | | 6 1 ( 2 ) по доказанному выше. Тогда при достаточно малых получаем:(︀ )︀|+1 | = O 2 .Это означает, что рассматриваемый общий двухэтапный метод Рунге–Кутта при выполнении соответствующих условий имеет квадратичную точность по , совпадающую с оценкойпогрешности аппроксимации на решении исходного уравнения (3).§35Общий -этапный метод Рунге–КуттаРассмотрим задачу Коши для нелинейного обыкновенного дифференциального уравненияпервого порядка:⎧⎨ = (, ()), > 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 ).120Глава . Методы решения ОДУ и систем ОДУПри этом разностная схема для исходной задачи (1) имеет вид⎧⎨ +1 − = + + . . . + 1 12 2 ⎩ = , ∈ Z ,00+(2)где 1 , 2 , . . . , ∈ R.Будем также считать, что выполнено следующее условие аппроксимации, без которогорассмотрение метода не имеет смысла:∑︁ = 1.=1Заметим, что формулы -этапного метода Рунге–Кутта достаточно громоздки. Это является одной из причин того, что на практике редко используются методы Рунге–Кутта для > 4.Замечание.Приведем примеры трех- и четырех- этапных методов Рунге–Кутта, имеющих третийи четвертый порядок точности соответственно.Пример 1.
= 3:где+1 − 1= (1 + 42 + 3 ),61 = ( , ),2 = ( + 0.5, + 0.5 1 ),3 = ( + , − 1 + 2 2 ).Данная схема имеет третий порядок точности по .Пример 2.где = 4:+1 − 1= (1 + 22 + 23 + 4 ),61 = ( , ),2 = ( + 0.5, + 0.5 1 ),3 = ( + 0.5, + 0.5 2 ),4 = ( + , + 3 ).Данная схема имеет четвертый порядок точности по .§36Многошаговые разностные методыРассмотрим задачу Коши для нелинейного обыкновенного дифференциального уравненияпервого порядка:⎧⎨ = (, ()), > 0,(1)⎩(0) = ,0где функции () и (, ) обладают достаточной гладкостью.
Считаем, что решение ()существует и единственно.Введем равномерную сетку в области > 0 с шагом > 0: = { = , > 0, ∈ Z+ }.Рассмотрим сеточную функцию = ( ), заданную на сетке . Пусть значения этойфункции в узлах сетки приближают значения = ( ). Обозначим = ( , ).§36. Многошаговые разностные методы121Линейным -шаговым разностным методом решения задачи (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 (этот метод мы рассматривали в §23 главы §20).Заметим, что коэффициенты уравнения (2) определены с точностью до множителя. Дляопределенности будем считать, что выполнено условие∑︁ = 1.=0Это означает, что правая часть разностного уравнения (2) аппроксимирует правую частьдифференциального уравнения (1).Погрешностью аппроксимации разностной схемы (2) на решении исходной задачи (1) называется сеточная функцияОпределение.
= −∑︁=0− +∑︁ (− , − ),=0заданная на сетке , где = ( ) — решение исходной задачи (1).(3)122Глава . Методы решения ОДУ и систем ОДУВыясним вопрос о порядке погрешности аппроксимации при → 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 , . . . , .§36. Многошаговые разностные методы123Полученную систему можно несколько упросить. Рассмотрим последние условия при = 1:∑︁( + ) = 0,=0∑︁ = −=0то есть∑︁ = −1,=0∑︁ = −1.=0Окончательно получаем следующую систему уравнений:⎧∑︀⎪⎪ = −1,⎨(4)=1∑︀⎪⎪ −1 ( + ) = 0,⎩ = 2, ,=0в которой коэффициенты 0 , 0 вычисляются по формулам0 = −∑︁ ,0 = 1 −=1∑︁ .=1Таким образом, мы уменьшили число уравнений в системе до и число неизвестных до2. Чтобы система не была переопределенной (в таких системах число уравнений большечисла неизвестных) необходимо выполнение условия 6 2.Таким образом наибольший возможный порядок аппроксимации неявных -шаговыхразностных методов равен 2, явных — (2 − 1), так как в явных методах 0 = 0, и числонеизвестных в системе (4) меньше на единицу по сравнению с системой, записанной длянеявного метода.Если убрать последние уравнений системы (4), = (︀1, ( −)︀ 1), то полу−чим условия, обеспечивающие порядок погрешность аппроксимации O .Замечание 1.В практике вычислений наибольшее распространение получили методыАдамса, которые представляют собой частный случай многошаговых методов (2), когдапроизводная ′ () в исходном уравнении аппроксимируется по двум крайним точкам −1и , то есть 0 = 1, 1 = −1, = 0, = 2, :Замечание 2.
− −1 ∑︁= − .=0Разностные схемы вида (2), обладающие наивысшими порядками аппроксимации на решении исходного уравнения, неустойчивы и не могут быть использованына практике. Максимальный порядок аппроксимации устойчивого неявного -шаговогометода не превосходит ( + 1), если нечетно, и не превосходит ( + 2), если четно.Порядок аппроксимации устойчивых явных схем не превосходит . Подробнее понятиеустойчивости -шагового разностного метода мы рассмотрим в следующем параграфе.Замечание 3.В завершение рассмотрим достоинства и недостатки многошаговых разностных методов по сравнению с методом Рунге–Кутта.Достоинства:124Глава . Методы решения ОДУ и систем ОДУ1.
Формулы многошаговых методов значительно проще.2. Многошаговые методы позволяют достигать большей точности.Недостатки:1. В многошаговых методах необходимо хранить в памяти большее число элементов —значения нескольких предыдущих шагов вместо одного.2. Многошаговые методы требуют наличия «разгонного этапа», то есть значений нескольких первых шагов, которые нельзя вычислить по многошаговым формулам.