Д.П. Костомаров, А.П. Фаворский - Вводные лекции по численным методам (pdf) (1113729), страница 19
Текст из файла (страница 19)
Вторая и третья производныерассматриваемой функции y ( x ) имеют вид26, y′′′ ( x ) =.y′′ ( x ) =34(1 − x )(1 − x )Для них на отрезке [ −0.1, 0.1] справедливы оценки26y′′ ( x ) ≤< 2.8 , y′′′ ( x ) =< 9.3 .34( 0.9 )( 0.9 )Так что неравенства (15) и (19) запишутся следующим образомψ 1+ ≤ 0.14 , ψ 1− ≤ 0.14 , ψ 1(0) ≤ 0.031 .Они выполняются.1.3.
Разностная аппроксимация второй производной.Для разностной аппроксимации второй производной составим разностноеотношение первых разностных производныхyi +1 − yi yi − yi −1−y − 2 yi + yi +1hh= i −1Lh [ y ] =.(21)hh2Чтобы установить связь выражения (21) со второй производной, предположим, что наотрезке [ a, b ] определена дважды непрерывно дифференцируемая функция y ( x ) ,значения которой в точках сетки (1) дают значения сеточной функции yi . Вычислимее вторую производную в точках сетки xi и составим разность(22)ψ i = Lh [ yi ] − y′′ ( xi ) ,1 ≤ i ≤ n − 1 .Она представляет собой погрешность аппроксимации второй производной с помощьюразностного отношения второго порядка (21).Оценим величину погрешности при предположении, что функция y ( x ) четырераза непрерывно дифференцируема на отрезке [ a, b ] .
Это предположение позволяетнаписать разложения Тейлора111 (4)yi +1 = y ( xi + h ) = yi + y ′ ( xi ) h + y ′′ ( xi ) h 2 + y ′′′ ( xi ) h 3 +y ( xi + θ1,i h ) h 4 ,2624(23)111 (4)234yi −1 = y ( xi − h ) = yi − y ′ ( xi ) h + y ′′ ( xi ) h − y ′′′ ( xi ) h +y ( xi − θ 2,i h ) h .2624Подставляя их в формулы (21), (22), получим1 (4)ψi =y ( xi + θ1,i h ) + y (4) ( xi − θ 2,i h ) h 2 .(24)24Мы не можем вычислить погрешность по этой формуле, поскольку значенияаргументов у функции y (4) ( x ) нам неизвестны, но можем ее оценить. Функция y (4) ( x )непрерывна и, следовательно, ограничена на отрезкеy (4) ( x ) ≤ M 4 , a ≤ x ≤ b .(25){}- 91 -В результате из формулы (24) получаем1M 4h2 .(26)12Таким образом, разностное отношении (21) аппроксимирует вторую производную совторым порядком точности относительно h для функций, имеющих четыренепрерывные производные на отрезке [ a, b ] .
Совершенно аналогично можно строитьразностные аналоги производных более высокого порядка.ψi ≤Задача 2.Для функции y = 1/ (1 − x ) вычислить на сетке (20) вторую разностную производную вточке x1 = 0 . Найти погрешность аппроксимации второй производной y′′(0) = 2 исравнить результат с априорной оценкой (26).В данном случае1/1.1 − 2 + 1/ 0.9= 2.020202 ,0.01ψ 1 = 0.020202 .Четвертая производная рассматриваемой функции y ( x ) и мажоранта для нее наотрезке [ −0.1, 0.1] имеют вид2424, y (4) ( x ) ≤< 41 .y (4) ( x ) =55( 0.9 )(1 − x )Так что неравенство (26) запишется следующим образомψ 1 ≤ 0.034 .Оно выполняется.Lh [ y1 ] =При численном интегрировании дифференциальных уравнений производные вних приближенно заменяются соответствующими разностными отношениями.
Врезультате задача сводится к системе разностных уравнений, которые решаются накомпьютере. В качестве ответа получается сеточная функция { yi } ( 0 ≤ i ≤ n ) . Послеэтого встает вопрос, в какой степени и с какой точностью ее можно рассматривать вкачестве приближенного решения исходной задачи. Нужно иметь в виду, что прямоесравнение решения дифференциального уравнения u ( x ) и рассчитанной сеточнойфункции невозможно: они принадлежат разным пространствам и их, прежде всего,нужно свести в одно пространство. Это можно сделать двояко.Во-первых, по сеточной функции с помощью методов интерполирования можнопостроить функцию непрерывного аргумента y ( x ) и оценить разностьz ( x ) = y ( x ) − u ( x ) , например, в норме Cz c = max y ( x ) − u ( x ) .a ≤ x ≤bВо-вторых, наоборот, решению дифференциального уравнения можно сопоставитьсеточную функцию {ui = u ( xi )} и сравнить между собой две сеточные функции { yi } и- 92 -{ui }, составив их разностьzi = yi − ui .
При этом погрешность приближенного решениязадачи будет характеризовать норма разностиz c = max yi − ui .0≤i ≤ nНаиболее последовательным является первый путь, но обычно выбирают болеепростой - второй.В следующих параграфах мы рассмотрим численное решение с помощью методаконечных разностей задачи Коши и краевой задачи для линейного дифференциальногоуравнения второго порядка.§2. Численное решение задачи Коши.Рассмотрим задачу Коши для дифференциального уравнения первого порядка(27)u ′ = f ( x, u ) ,u ( x0 ) = u0 .(28)Если функция f ( x, u ) непрерывна и удовлетворяет условию Липшица по аргументу uв некоторой окрестности начальной точки ( x0 , u0 ) , то можно указать такой отрезок[ a, b] , a < x0 < b , на котором решение задачи (27), (28) u ( x ) существует и являетсяединственным.
В этом параграфе мы обсудим численные методы ее решения.2.1. Метод Эйлера.Пусть нам нужно построить решение задачи (27), (28) на отрезке [ x0 , x0 + l ]длины l . Возьмем некоторое целое число n , введем шаг h = l / n и образуем на отрезкесеткуxi = x0 + ih , 0 ≤ i ≤ n .(29)Сопоставим задаче (27), (28) на отрезке разностную задачуyi +1 − yi= f ( xi , yi ) , 0 ≤ i ≤ n − 1 ;(30)hy0 = u0 .(31)Здесь мы заменили производную u′ ( x ) в уравнении (27) правой разностнойпроизводной и сохранили неизменным начальное условие (28).Уравнение (30) является разностным уравнением первого порядка, котороепринято называть схемой Эйлера.
Его можно переписать в виде рекуррентногосоотношения(32)yi +1 = yi + hf ( xi , yi ) , 0 ≤ i ≤ n − 1 .Это позволяет последовательно рассчитать все значения сеточной функции { yi } ,решив тем самым задачу (30), (31). Такую разностную схему называют явной.Перейдем теперь к обсуждению главного вопроса: с какой точностьюрассчитанная сеточная функция { yi } дает решение исходной задачи Коши u ( x ) . Дляответа на него рассмотрим решение задачи (27), (28) в точках сетки (29), образуя изфункции непрерывного аргумента сеточную функцию {ui = u ( xi )} , и сравним ее с- 93 -рассчитанной сеточной функцией { yi } . Для этого образуем две сеточные функции z ,ψ:zi = yi − ui , 0 ≤ i ≤ n ;(33)u −uψ i = i +1 i − f ( xi , ui ) , 0 ≤ i ≤ n − 1 .(34)hСмысл первой функции (33) очевиден.
Она характеризует разницу междурассчитанными числами yi и решением u ( x ) задачи (27), (28) в точках сетки xi . Всоответствии с этим сеточную функцию z называют погрешностью решения.Функция(34) получается в результате подстановки решенияψдифференциального уравнения (27) в разностное уравнение (30). Если бы этиуравнения совпадали, то мы получили бы нуль. Но они различаются и нуля мы неполучим. Сеточную функциюхарактеризующую степень близостиψ,дифференциальногоиразностногоуравнений,называютпогрешностьюаппроксимации уравнения на решении.Установим связь между сеточными функциями z и ψ .
С этой целью выразим изформулы (33) yi :yi = ui + zi(35)и подставим в разностное уравнение (30). В результате получимzi +1 − zi ui +1 − ui+= f ( xi , ui + zi )hhилиzi +1 − zi⎧u − u⎫= { f ( xi , ui + zi ) − f ( xi , ui )} − ⎨ i +1 i − f ( xi , ui ) ⎬ .(36)h⎩ h⎭Здесь в обе фигурные скобки мы добавили величину f ( xi , ui ) . Добавленные членывходят в соотношение (36) с противоположными знаками и благодаря этому ненарушают равенство. После таких преобразований во вторых фигурных скобкахполучается величина ψ i .В первых фигурных скобках стоит разность значений функции f приодинаковом первом аргументе xi и разных значениях второго аргумента.
Эту разностьс помощью формулы Лагранжа можно представить в виде∂ff ( xi , ui + zi ) − f ( xi , ui ) =( xi , ui + θ i zi ) zi∂uи записать формулу (36) в виде рекуррентного соотношения∂f⎧⎫zi +1 = ⎨1 + h ( xi , ui + θ i zi ) ⎬ zi − ψ i h , 0 ≤ i ≤ n − 1 .(37)∂u⎩⎭Согласно (28) и (31) его следует дополнить нулевым начальным условиемz0 = 0 .(38)В отличие от формул (30), (31) формулы (37), (38) не могут быть использованыдля вычисления величин zi . В них входят неизвестные величины: ψ i , ui , θ i . Однако изэтой системы рекуррентных равенств можно получить рекуррентные неравенства.- 94 -Введем для оценки сеточной функции ψ ее нормуψ c = max ψ i , при этом ψ i ≤ ψ c .0≤i ≤n −1Предположим далее, что функция(39)∂f( x, u ) в интересующей нас области изменения ее∂uаргументов ограничена∂f( x, u ) ≤ C .∂uЭто позволяет написать оценку∂f1 + h ( xi , ui + θ i zi ) ≤ 1 + Ch < eCh = q , q > 1 .∂uС учетом (39) и (41) из формулы (37) следуют рекуррентные неравенстваzi +1 ≤ q zi + ψ c h ,которые порождают цепочку оценокz0 = 0,(40)(41)(42)z1 ≤ ψ c h,z2 ≤ (1 + q ) ψ c h,z3 ≤ (1 + q + q 2 ) ψ c h,(43)Mzn ≤ (1 + q + q 2 + L + q n−1 ) ψ c h.Согласно (41) q > 1 , так что1 + q + q 2 + L + q n −1 < nq n = neChn .Это позволяет заменить индивидуальные оценки (43) универсальной оценкой(44)zi ≤ nheChn ψ c , 0 ≤ i ≤ n .Неравенства (44) справедливы при любом i , в частности, при том, при которомzi достигает своего наибольшего значения и определяет тем самым норму сеточнойфункции z c .
В результате оценка погрешности решения принимает видz c ≤ leCl ψ c ,(45)где l - длина отрезка, на котором рассматривается решение исходной задачи (27), (28).Мы получили важный результат: оценку погрешности решения через оценкупогрешности аппроксимации уравнения с коэффициентом, который не зависит отшага h . Чем лучше разностное уравнение аппроксимирует дифференциальное, темменьше погрешность решения.Чтобы завершить исследование метода Эйлера, оценим норму погрешностиаппроксимации уравнения ψ c .
Предположим, что функция f ( x, u ) имеет врассматриваемой области изменения аргументов непрерывные и ограниченные первые- 95 -∂f∂f. Это обеспечивает существование у решения задачии∂x∂u(27), (28) непрерывной и ограниченной второй производной∂f∂f(46)u′′ ( x ) = ( x, u ) + ( x, u ) f ( x, u ) .∂x∂uЗапишем для функции u ( x ) формулу Тейлора с остаточным членом в формеЛагранжа1ui +1 = u ( xi + h ) = ui + u′ ( xi ) h + u′′ ( xi + θ i h ) h 2 .(47)2Подставляя разложение (47) в формулу (34) для погрешности аппроксимацииуравнения, получим1ψ i = u′′ ( xi + θ i h ) h .(48)2Согласно формуле (46) функция u′′ ( x ) непрерывна и ограничена(49)u ′′ ( x ) ≤ M 2 , x0 ≤ x ≤ x0 + l .частные производныеЭто позволяет написать оценкиM2M lh , z c ≤ 2 e Cl h .(50)22Неравенства (50) показывают, что при h → 0 погрешность аппроксимации уравненияи связанная с ней неравенством (45) погрешность решения стремятся к нулю соскоростью h .
В связи с этим метод Эйлера называют методом первого порядкаточности относительно h .ψc≤Задача 3.Рассмотреть задачу Коши1u′ = u + x ,(51)2(52)u ( 0) = 0 .Построить ее численное решение на отрезке [ 0,2] по схеме Эйлера с шагамиh1 = 0.25 , h2 = 0.05 , h3 = 0.01 . Сравнить результаты расчетов между собой и саналитическим решением задачиu ( x ) = −2 ( x + 2 ) + 4e 2 .Результаты расчетов приведены в таблице 1.1x(53)- 96 -Таблица 1xih1 = 0.25 h2 = 0.05 h3 = 0.01u ( xi )0,00 0,000000 0,000000 0,000000 0,0000000,25 0,000000 0,025633 0,031182 0,0325940,50 0,062500 0,120338 0,132903 0,1361020,75 0,195313 0,293193 0,314530 0,3199661,00 0,407227 0,554466 0,586674 0,5948851,25 0,708130 0,915776 0,961355 0,9729841,50 1,109146 1,390270 1,452190 1,4680001,75 1,622789 1,992821 2,074604 2,0955012,00 2,263138 2,740255 2,846068 2,873127Здесь в первом столбце выписаны значения независимой переменной x с шагомh1 = 0.25 , в трех следующих столбцах - решения разностной задачи с шагами h1 , h2 ,h3 .