Самарский А.А., Гулин А.В. Численные методы (1989) (1095856), страница 40
Текст из файла (страница 40)
и' д~ ди ' Таким образом, метод (!О) имеет второй порядок погрешности аппроксимации, ф~1> =0(т'), и в отличие от (7) является явным. Реализация метода (10) в виде двух этапов (8), (9) называется методом предиктор — корректор (предсказывающе-исправляющим), поскольку на первом этапе (8) приближенное значение пред- 217 $2. Методы Рунге — Кутта 1. Общая формулировка методов.
Семейство методов второго порядка. По-прежнему рассматриваем задачу Коши для одного уравнения — =Г(г, и), ! )О, и(0) =и,. (1) в! Явный т-этапный метод Рунге — Кутта состоит в следующем. Пусть решение у„=у(г'„) уже известно. Задаются числовые коэф- фициенты аь Ь„, з=2, 3, ..., т, 1=1, 2, ..., и — 1, пп з=1, 2, ... ..., т, и последовательно вычисляются функции Ь,=1(!., У.), й =~(!.+ат, ул+Ь„тй,), Ьз = ! (Г. + азт, У. + Ьззт!зз + Ьззтй ), ", Ьп =) (!л + апт уп +Ьтзтйз + Ьазтйз +... + Ьлз лпнтйт з). Затем из формулы Ул зз Ул и.
т ! =-1 находится новое значение у„, =у(г„„). Коэффициенты а„Ь„, в, выбираются из соооражений точности. Например, для того чтобы уравнение (2) аппроксимировало исход- ное уравнение (1), необходимо потребовать 'Я в;=1. Отметим, з=з что методы Рунге — Кутта при т)5 не используются. Остановимся более подробно на отдельных методах.
Прн т= =1 получаем схему Эйлера, рассмотренную в примере 1 из пре- дыдущего параграфа. При т=2 получаем семейство методов й,=)(1„, у„), йз='1(1„+азт, у„+Ь„тй,), (2) (3) У лл=у +т(п Ь,+пзаз). Исследуем погрешность аппроксимации методов (3) в зависимости от выбора параметров. Исключая из последнего уравнения язв сказывается с невысокой точностью 0(т), а на втором этапе (9) это предсказанное значение исправляется, так что результирующая погрешность имеет второй порядок по т. Тот же самый метод (10) можно реализовать несколько иначе.
А именно, сначала вычислим последовательно функции Ь,=ЦГ„, у„), й,=~(1„+0,5т, у„+05тй,), а затем найдем упы из уравнения (у„+,— у.)/т=й,. Такая форма реализации метода (10) называется методом Рунге — Кутта. Поскольку требуется вычислить две промежуточные функции, й, и й„данный метод относится к двухэтапным методам. В следующем параграфе будут рассмотрены более общие т-этапные методы Рунге — Кутта, позволяющие получить ббльшую точность.
функции Й, и й„получаем =М(Гп, Уи1+ оз?(Гл+азт, Уп+ЬзФ(Гл, У )). (4) т По определению погрешностью аппроксимации или невязкой метода (3) называется выражение ф„н = — "" " + о,1 ((„и„) + о,1 (1„+ а,т, и„+ Ь,Д (1„, и„)), (5) полученное заменой в (4) приближенного решения у„ точным ре- шением и„=и(1„). Найдем порядок погрешности аппроксимации в предположении достаточной гладкости решения и(1) и функции 1(1, и). Для этого разложим все величины, входящие в выражение (5), по формуле Тейлора в точке г„. Имеем "=и'(г„) + — и" (1„) + О(т'), т 2 д/„ дГ„ ~(1а+ азт, ии+ ЬмФа) =~л+ авт — + Ьмт~п — + О (т'), д~ ди где 1„=1(1„, и„), — "= — (1„, и„). Далее, согласно уравнению (1), д?„дг ди ди получим дг дг, д? д? и" = — + — и' = — + — ?. д1 ди д~ ди Поэтому фо' = — и„+ (о, + од Г„+ д?„ д?„ 1 + т ~(оздм — 0,5) )„—" + (о,а, — 0,5) —" ) + О (т').
ди д~ (6) Отсюда видно, что методы (3) имеют первый порядок аппроксимации, если о,+о,=1. Если же дополнительно потребовать о,а,=о,Ь„=0,5, то получим методы второго порядка аппроксимации. Таким образом, имеется одпопараметрическое семейство двухэтапных методов Рунге— Кутта второго порядка аппроксимации. Это семейство методов можно записать в виде "=(1 — о)?(1„, у„)+ о?(Г„+ат, у„+ат)(Г„, у„)), (?) 2!Э где оа =0,5. В частности, при о=1, а=0,5 получаем метод, рассмотренный в примере 3 предыдущего параграфа.
При о=0,5, а=1 получаем другой метод второго порядка: й,=)(1, у„), я,=)(1„+т, у„+тА,), у.э,=у.+0,5т(й,+й,). Приведенные здесь методы являются частными случаями методов Рунге — Кутта третьего и четвертого порядков, рассмотренных подробнее в пп. 3 и 4. 2.
Доказательство сходимости. Докажем, что методы Рунге— Кутта сходятся и порядок их точности совпадает с порядком аппроксимации. Выпишем уравнение, которому удовлетворяет погрешность г.= =у„— и(1„). Основное уравнение метода Рунге — Кутта имеет вид " = ~ о,й1(У), (8) где Я1 (У) = 1(тп, Уп). Подставим в левую часть уравнения (8) вместо у, выражения и,+и, при 1=в, а+1, а в правой части этого уравнения добавим и вычтем сумму П1 ~~1', о1Я1(и), где 1-1 й1 (и) = ~ 1п + а,т, ип + ~ тЬ11й; (и) 1=1 1=2,3, ..., т, я (и) =)(1„и„).
Тогда уравнение (8) примет вид (10) и11 и ГШ+ (11) где П1 ф<"= — "" п+'~ оА(и) и 1=1 (12) есть по определению погрешность аппроксимации метода (8), (9) на решении исходной задачи (1) (невязка) и 1П фм ='~', а1(ц(у) — Й1(и)), (13) Будем рассматривать (11) как уравнение для погрешности метода. Оно выполняется для п=0, 1, ... Поскольку начальные значения у, задаются точно, уи=м(0), величина г, равна нулю. Будем считать, что задача (1) решается на ограниченном отрезке времени 0 =Л(Т, и, следовательно, при любых п и т выполняется неравенство 1.=пт(Т. Предположим, что в рассматриваемой области изменения переменных (1, и) функций 1(1, и) удовлетворяет условию Лившица по и с константой Л, не зависящей от 1ч При этих предположениях оценим сначала функцию срс", а затем и решение г„„уравнения (11) Из выражений (9), (10), используя условие Липшнца, получим кв ~lгс(у) — Ьс(и) )( Е.
(у„— и„(+ 'Я т'1Ьу ~ ~Ссс(у) — СсС(и) ! с=1 с=2, 3,..., и, ~)с,(у)-Ь,(и) ~(1~у„— и„~. Обозначим гс=!Йс(у) — ссс(и)$, с'=1,2, ..., и, Ь= шах (Ьс! ), у=1.1у,— и„!. с~скт (14) с<Сенс-~ Тогда согласно предыдущему неравенству будем иметь с-1 гс <(.Ь'"~~~ тгс+д, с=2, 3, ..., и, гс(д, с =1 или, что то же самое, гс ((.ЬЯ тгс+у, с'=0,1,...,и — 1, го — — О. (15) с=о Л ем ма !. Из неравенств (15) при Ит)0 следуют оценки гс (р'-'д, с=1, 2, ..., сп, (16) гь„,((.Ь'5', тгс+ д. с=1 Согласно предположению индукции имеем гс(Рс 'д, 1=1, 2,...
й следовательно, что и требовалось. 222 где р=1+с.Ьт. Доказательство. Оценка (16) при с'=1 совпадает с оценкой (15) для с=0. Пусть неравенство (16) выполнено для =1, 2, ..., й. Покажем, что оно выполнено и для с=у+1. Из (15) при с=й получим Оценим теперь функцию ф„'~, определенную согласно (13). Из (14), (16) следует неравенство ~ ф~" ~ <'я' ) о;~ (г;(< од~ рьч <одтр"'-', $=1 4=1 где о= шах (о;(, р=1+ЕЬт, д=Е)г„(. 1а1мп~ Итак, окончательно имеем следующую оценку для ф„'>: (ф~" ~<оЕт(1+ЕЬт) '(г„(. (17) Таким образом, при возрастании погрешности (г,! величина ~фв ( растет не быстрее первой степени погрешности. ел Теперь уже несложно оценить погрешность г„=у„— и(1„). Из уравнения (1!) имеем г„„=г„+ тфв>+ тф~'>, откуда, учитывая (17), получаем неравенство (гьм1<(1+ат)~г„)+т(ф„"(, п=О, 1,'..., (18) где а=а(т) =оЕт(1+ЕЬт)" '. (19) Заметим, что а(т)-+оЕт при т-+О.
Если т<т„то а(т) < <оЕгпесь' -'>", т. е. а(т) ограничена равномерно по т. В качестве т, с большим загрубленнем можно взять Т. Йз неравенства (18) следует оценка ! г„„! < (1 + ат)ьм ( г, (+ ь1, т (1 + ат)" ~ ! ф'и (, (20) которую легко доказать по индукции. Загрубляя оценку (20) и учитывая, что г,=О, получим )г„„(<(п+ 1)т(1+ ат)" шах ! фон ! =.(„„е"'" шах )ф'о ), ам!мл ом!мл ~ у„— и (1„) ) < Те" т шах 1 ~Ж ) оа~мл-1 (21) где а = ойгп (1+ЕЬт) о= шах )о;(, Ь= тпах (Ь;;(. 1ксмги 2а (ма 1<!С ~-1 223 где 1„=пт<Т, Таким образом, доказана Теорема 1.
Пусть правая часть уравнения (1) 1(Е и) удовлетворяет условию Липшица по второму аргументу с константой Е, Пусть ~р',Р— невязка метода Рунге — Кутта (2), определенная согласно (12). Тогда для погрешности метода при пт<Т справедлива оценка Следствие. Если метод Рунге — Кутта аппроксимирует исходное уравнение, то он сходится при т-й.О, причем порядок точности совпадает с порядком аппроксимации. Доказательство этого утверждения сразу следует нз оценки (2[) н замечания о равномерной ограниченности и(т).
3. Методы третьего порядка точности. При решении обыкновенных дифференциальных уравнений часто используются методы третьего и четвертого порядка точности. Приведем вывод таких методов. Сначала рассмотрим трехэтапный метод Ь< = 1 (Г»' Ул) ' Ьз = 1 Ил + агт Ул + Ьпта<) Ьз = 1 (1»+ азт. у»+ Ьз,тй, + Ьзйтйй). (22) у»+<=у»+т(о<а<+озал+Озал). Выясним, каким условиям должны удовлетворять параметры аь Ьо, о< для того, чтобы данный метод имел третий порядок аппроксимации. Погрешность аппроксимации метода (22) дается выражением ил+< ил — + о,й, + оййй + оййз, (23) где Ь, =1(Г».
ил), Уй =1(Г»+ азт, ил+ Ьлтй,), Ьз =1(Г»+ азт, ил+ Ьз,тй<+ Ьз,тйй) (24) Здесь значения функции 1(й и) и ее частных производных берутся при 1 Ью и=и„. Точно так же Ьз = 1+ аз'з1<+ (Ьийй+ ЬзФЙ т1„+ .<й + [ай[и+ 2аз (Ьмай+ Ьзййй) 1<„+ (Ьз<Ь<+ Ьзййй)<1»»[+ 0(тй). 2 з Подставляя сюда Ь,=1, У<=1+а<я[<+ай<т[1»+0(тй), получим тй Ьз = 1+ т [аз1< + (ьй<+ Ьзд 11„[ + 2 [а',1«+ 2а (аз< + Ьм) 11<, + + (Ь„+ Ьм)й[ 1„„+ 2ьзйа<1<1„+ 2ьййЬи1 (1») [+ 0 (тй). (26) Далее, иэ разложений (24) — (26) следует о<Ь< + оййй + озйз (оз + ой + оз) 1 + -[- т [(о,а, + озаз) 1< + (о,Ьм + оз (Ьз< + Ьзй) 11„[ + + — [(ойай+ оза,') 1и + 2 (ойа<Ьм+ озаз (Ьзй+ Ьйй)) 11<»+ 2 + ((ойьй< + оз (Ьз<+ Ьзз) ) 1 1»л + 2озьзйай<1»+ 2озьййьп1 (1 )й[+ 0 (тй).
(27) 224 и и =и(1 ) — решение исходного уравнения (1). Применяя разложение по формуле Тейлора для функции двух переменнык и учитывая, что Й<=1(1, и„), получим тй Ь, =1+ а,т1, + Ь т1<1»+ — [а,'1и+ 2,Ь„11<»+ Ь',<1.1„,[+ 0 (т'). (26) И Получим теперь разложение по степеням т разностного отношения (и„+с— — и,)1т, входящего в выражение для погрешности аппроксимации (23). Приэтом учтем, что в силу уравнения (1) справедливы следующие соотношения: ц'=1, и"=1с+11, и™ 1сс+211с +1'1 ~+1~1с+!(1 )'. Тогда будем иметь иле,— ил ° т . тз л 2 л 6 л = и + — и + — и + 0 (тз) = — 1+ (1с+ 11ц) + [1сс + 211сц+ 1з1цц + 1„1, + 1(1ц) ]+ О (т ) Отсюда и из (27) получаем следующее разложение выражения для погрешности аппроксимации (23): флС'! = (о, + ос+ оз — 1) 1 + + — ([2 (озаз + озаз) — 1] 1, + [2 (озьзс+из (Ьм+ Ьзз)) — 1] 11ц) + тз + — ([3 (о аз+ озФ вЂ” 1] 1сс + [б (оятсбзс+ озоз (Ьм+ Ьзз)) 2] 11сц+ + [3 (озэю+ оа (Ьзс+ Ьзс) ) 1] 1з1цц + + (бозэзз~ — 1) 1цус + (бозЬззЬзс — 1) 1 (1ц)з] + О (тз)' 1 озЬззаз — — озЬззЬм = 6 После проведения эквивалентных преобразований эту систему уравнений можно записать в более простом виде: з з овос + а,а, = — , о,а', -[- а,а', = — , 1 аа = Ьз„ аз = Ьзс + Ьзю азЬззаз = б (29) ос=1 — оз — оз.