Численные методы. Ионкин (2013) (1160444), страница 19
Текст из файла (страница 19)
Что произойдетв случае отсутствия такой согласованности, заранее предсказать невозможно.Глава 5Методы решения обыкновенныхдифференциальных уравнений исистем ОДУ§1Постановка задачи Коши и примеры численных методоврешения задачи КошиВ этой главе рассматривается задача Коши для системы обыкновенных дифференциальных уравнений⎧⎨ = (, ()), > 0,(1)⎩(0) = ,0где () = (1 (), 2 (), .
. . , ()) , (, ()) = (1 (, ()), . . . , (, ()) .Напомним теорему, гарантирующую существование и единственность решения задачи (1) в окрестности начальных данных.Обозначим√︁‖()‖ =21 () + 22 () + . . . + 2 ().Предположим, что функция (, ()) непрерывна в параллелепипеде = {0 6 6 , ‖() − (0)‖ 6 , , ∈ R}и удовлетворяет в условию Липшица по второму аргументу, то есть‖ (, ) − (, )‖ 6 ‖ − ‖,для всех (, ), (, ) ∈ R.При выполнении этих условий существует единственное решение () задачи (1), определенное и непрерывное на некотором отрезке.Доказательство этой теоремы основано на методе Пикара, который состоит в том, чтодифференциальную задачу (1) заменяют эквивалентным интегральным уравнением∫︁() = (0) + (, ())0116Глава 5. Методы решения ОДУ и систем ОДУи для этого интегрального уравнения доказывается сходимость последовательных приближений (), построенных по правилу∫︁+1 () = (0) + (, ()).(2)0Если функция (, ) такова, что интеграл в правой части уравнения (2) легко вычисляется, то метод Пикара, безусловно, можно использовать для приближенного решениязадачи (1).
Однако вычислять этот интеграл в явном виде, как правило, не удается.В дальнейшем при построении и исследовании численных методов будем предполагать,что искомое решение задачи (1) () существует, единственно и обладает требуемыми свойствами гладкости.В настоящее время наибольшее распространение получили две группы численных методов решения задачи Коши:1. методы Рунге–Кутта;2. многошаговые разностные методы, наиболее известными из которых являются методы Адамса.Приведем примеры таких методов, предполагая для простоты изложения, что система (1)состоит всего из одного уравнения. Таким образом получим следующую задачу Коши:⎧⎨ = (, ()), > 0,(3)⎩(0) = ,0Будем рассматривать сетку по времени с постоянным шагом > 0, то есть множествоточек = { = , ∈ Z+ },и обозначим = ( ), = ( , ). В дальнейшем точное решение задачи (1) будемобозначать буквой , а приближенное решение — буквой .Пример 1.
Пожалуй, наиболее простым методом решения задачи (3) является разностнаясхема (метод) Эйлера. Несмотря на всю простоту схемы, метод Эйлера часто используетсяна практике.Замечание. В данном примере мы рассмотрим только явную схему Эйлера, но нужнопомнить, что существуют и неявный аналог этой схемы.⎧⎨ +1 − = ( , ), ⎩ = , ∈ Z .00+ ∈ (4)Эта схема является явной, так как значение численного решения в каждой следующейточке +1 , ∈ Z+ находится по явной формуле:+1 = + , ∈ Z+ .Введем погрешность разностной схемы (4): = − , ∈ Z+ .§1. Постановка задачи Коши и численные методы ее решения117Если мы получим оценку ‖ ‖ 6 , где константа не зависит от , то будем говорить,что решение разностной схемы Эйлера сходится к решению исходного уравнения (3) спервым порядком точности по .Запишем теперь погрешность аппроксимации разностной схемы (4) на решении исходной задачи (3):+1 − = −+ ( , ).(5)Разложим +1 в ряд Тейлора в узле :(︀ )︀+1 = + ′ + O 2 .Тогда(︀ )︀+1 − = ′ + O .Подставим последнее выражение в уравнение (5):(︀ )︀ = −′ + ( , ) + O .Воспользовавшись тем, что −′ + ( , ) = 0, так как выполнено исходное уравнение (3),окончательно получаем:(︀ )︀ = O .Эта оценка означает, что разностная схема (4) аппроксимирует исходную задачу с первымпорядком точности по .
В дальнейшем мы покажем, что рассмотренная разностная схемабудет сходиться к решению задачи (3) с первым порядком по .Пример 2. Рассмотрим теперь двухэтапную разностную схему Рунге–Кутта (схему «предиктор–корректор»). В данной разностной схеме вводятся дополнительные точки, так называемыеполуцелые слои:+ 1 = + 0.5, ∈ Z+ .2Нахождение численного решения данной разностной схемы в каждой следующей точке +1производится в два этапа: −→ + 1 −→ +1 .2Выполним первый этап («предиктор») по схеме Эйлера:+ 1 − 20.5= ( , ).(6)Рассмотрим второй этап («корректор»):+1 − = (+ 1 , + 1 ),22(7)где 0 = 0 , ∈ Z+ . Отсюда следует, что+1 = + (+ 1 , + 0.5 ( , )).(8)2Далее будет показано, что эта двухэтапная разностная схема имеет второй порядок точности по .118Глава 5. Методы решения ОДУ и систем ОДУОценка погрешности общего двухэтапного метода Рунге–Кутта.Рассмотрим общий вид двухэтапного метода Рунге–Кутта:⎧+1 − ⎪= 1 1 + 2 2 , ∈ Z+⎪⎨0 = 0 ,⎪⎪⎩1 = ( , ), 2 = ( + 2 , + 21 ( , )),(9)где 1 , 2 , 2 , 21 ∈ R — некоторые числа, от выбора которых зависит как погрешность аппроксимации, так и точность численного решения.Подставим значения 1 и 2 в первое уравнение системы (9):+1 − = 1 ( , ) + 2 ( + 2 , + 21 ( , )).Тогда можем записать погрешность аппроксимации разностной схемы (9) на решении задачи (3): = −+1 − + 1 ( , ) + 2 ( + 2 , + 21 ( , )) .(10)Разложим +1 в ряд Тейлора в окрестности точки ( , ):(︀ )︀+1 − = ′ + ′′ + O 2 .2Далее разложим ( + 2 , + 21 ) в окрестности точки ( , ): ( + 2 , + 21 ( , )) = ( , ) + 2 (︀ )︀+ 21 + O 2 .Заметим, что =′′(︂)︂= +.
( , ), погрешность аппроксимации принимает вид:(︂)︂(︀ )︀ ′ = − − 0.5+ + O 2 + 1 ( , )+)︂(︂(︀ )︀+ 21 + O 2 .+2 ( , ) + 2Тогда, с учетом того, что =Сгруппируем слагаемые следующим образом:)︂(︂(︀ )︀+ (21 2 − 0.5) + O 2 . = −′ + (1 + 2 ) ( , ) + (2 2 − 0.5)Чтобы получить оценку погрешности аппроксимации со вторым порядком по , необходимо избавиться от слагаемых, содержащих в первой степени. Для этого потребуемвыполнение следующих условий:1. 1 + 2 = 1 (это условие называется условием аппроксимации).2.
2 2 = 2 21 = 0.5.§1. Постановка задачи Коши и численные методы ее решения119Тогда погрешность аппроксимации этого метода имеет второй порядок малости по :(︀ )︀ = O 2 .В записи общего метода Рунге–Кутта используется большое количество параметров,что обеспечивает широту класса описываемых этим методом разностных схем. Однако вдвухэтапном методе Рунге–Кутта не имеет смысла пользоваться двумя параметрами 1и 2 , так наилучшая оценка погрешности метода достигается при 1 + 2 = 1, поэтому,как правило, в двухэтапном методе Рунге–Кутта выбирают один параметр = 2 , тогда1 = 1 − . Если положить = 2 = 12 , то двухэтапный метод Рунге–Кутта запишется,как однопараметрическое по семейство разностных схем вида:+1 − = (1 − )1 + 2 ,где 1 = ( , ), 2 = ( + , + ( , )).Пример.
Рассмотрим примеры разностных схем, являющихся частными случаями общегодвухэтапного метода Рунге–Кутта.1. При = 1, = 2 = 0.5, = 21 = 0.5 мы получим схему Рунге–Кутта «предиктор–(︀ )︀корректор» (8), которую мы уже рассматривали. Точность этой схемы равна O 2 .2. Если положить = 0.5, = 1, = 1, то мы получим симметричную разностнуюсхему:⎧⎨ +1 − = 0.5 ( ( , ) + ( ∈ Z+ +1 , +1 )) ,(11)⎩ = .00Эта разностная схема является очень эффективной, имеет второй порядок точностипо и является наилучшей для интегрирования жестких систем ОДУ (с понятиемжестких систем мы познакомимся в одном из следующих параграфов).Оценка точности на примере двухэтапного метода Рунге–Кутта.Выпишем еще раз разностную схему, описывающую общий двухэтапный метод Рунге–Кутта:⎧⎨ +1 − = (1 − ) ( , ) + ( + , + ( , )), ∈ Z +(12)⎩ = .00Введем погрешность разностной схемы (12): = − , ∈ Z.Подставим выражение для погрешности в разностную схему (12) и получим задачу длянахождения функции :⎧⎨ +1 − = (1 − ) + ( + , + ) − +1 − , ∈ Z+(13)⎩ = 0,0где = ( , ).120Глава 5.
Методы решения ОДУ и систем ОДУДля доказательства сходимости решения разностной схемы (12) к решению исходнойзадачи Коши (3) достаточно показать, чтоlim | | = 0.→∞Покажем, что | | 6 | |, ∈ Z+ , где константа не зависит от шага , — погрешность аппроксимации на решении исходной задачи (3): = −+1 − + (1 − ) ( , ) + ( + , + ( , )).Перепишем задачу (13) в эквивалентном виде, сформировав погрешность аппроксимациипутем добавления недостающих слагаемых:+1 − +1 − =−+ (1 − ) ( , )+ ( + , + ( , ))++(1 − )( ( , )− ( , ))+(︀)︀+ ( + , + ( , ))− ( + , + ( , )) =(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 )| |.(1)(2)Приступим к получению оценки точности. Так как ( , ) = + + , то получаем(2)2 2|+1 | 6 | | + | | + (|(1) | + | |) = (1 + + 0.5 )| | + | |.Заметим, что слагаемые в сумме (1+ +0.5 2 2 ) являются первыми членами разложенияфункции по формуле Тейлора по переменной в окрестности нуля. Следовательно,(1 + + 0.5 2 2 ) 6 .Тогда|+1 | 6 | | + | |.§2. Общий -этапный метод Рунге–Кутта121Введем обозначение = . Тогда|+1 | 6 | | + | |, ∈ Z+ .(14)Раскроем полученное рекуррентное соотношение:|+1 | 6 +1 |0 | + ∑︁− | |.=0Так как 0 = 0, то получаем:|+1 | 6 max | | .066(15)Учтем, что 6 , тогда:|+1 | 6 max | |,066где константа = > 0 не зависит от .