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