А.А. Самарский - Введение в численные методы (1113832), страница 27
Текст из файла (страница 27)
1)риблпжепаое решгипе и,.(1) ищем в ппдг Н к-ч и„(1) -= ~ — „, иИО(0) 1- и), 0~~1~» Ч. (5) ЬО ии 1;де и,0) - 11 (0) -. /0). иа), а зпз иппя п(зо11зводпых и"'(О) (й ~ 2) пачодятся после;(оватги1,иыи диффереици- роваппем уравнения (1) и1-'' (0) ==. и" (О) = — / (1, и) ! —. / (О., и,) -,'- / (О, и,) /„(О, и ), иа и1М (0) =- и"' (0) .=- —,/ \1 и)(1-о— и(" := /,; (О, и„) ,'- "/'„,(О, ич)/(О, и„) -': /'„.,(О, и,) и" (0), ..., д1 а1,'Э /, == —, /„— —. /„1 == — — и т. д. о1' ." и '" и ш Для малых 1 ив~од рядов 05) мо;кот давать хорошое приближение и точпому репзенин) и(1) прп пе очень боль- ших п. Здесь обьем выпюленпй зависит пе только от точ11остп ь )0 ()и(1) — п„(1)1 ( е) и от и-и(е), цо п от вида' функции /(1, и), ток.как иахождеипо производных и'"(1) может оказаться очепь трудоемкпаг, В дальнейшем мы будем предполагать всюду, что функция /((, и) является достаточяо гладкой, т.
е. имеет столько производных (по 1 и по и), сколько требуется по ходу изложения. гл. г зАдАчА коши (уе Прежде чем переходить к изложению разностных схем для задачи (1), остановимся на вопросе об устойчивости решения задачи (1). Как изменится решение задачи (1) при изменении начального условия? Пусть й(г) — решение уравнения (1) с начальным условием й(0) = Рь Для погрешности з(Ю) =б(Х) — иИ) получаем уравнение — =со(()з. 0<((Т, г(0) = з = и,— и, (6) где со(() ()((, й) — (((, и))/з=(,((, и+9з), 0<6<1.
Решением (6) является функция * з = . (оу -р ! (, ау и ~ !о Если )„» 0 для всех 1, и, то !гИ)! < (з(0)! нлп !й(() — и00! < !й,— и,! дтя всех ( ш (О, Т), т. е. решение задачи (1) устойчиво по начальным данным (погрешность в начальных данных не нарастает). Задача (1) устойчива также н по правой части: (аИ) — иП)! < !й„— и !+оТ прн О<(< Т, если („<О, где йП) — решение задачи (1) с правой частью У =!(г, а)+И, !6(! <е, е- сопз(,)0.
Решение задачи (6) при (- ведет себя аналогично решению линейного уравкеш1я —, + ),з = О, О < ( ~ ~Т, з (0) = з„ которое мояоно рассматривать как модельное уравнение при изучении устойчивости. 2. Разностная схема Эйлера. Введем на отрезке интегрирования 0 < ( < Т сетку ю, П, = ат, а = О, 1... ).
Будем обозначать через у. у((.) сеточную функцию. Простейшим численным методом решения уравнения (1) является ревностная схема Эйлера; =1(го уп) Уо =- "о (") Значения у„=-у((.) находятся последовательно, начиная 6 ь г7гтоды РунГе — куттл 177 с у, = и„по явной формуле у„+, - у„+ тД1„, у,.), п = О, 1, ..., у, = и,. Вместо и = и(1) мы находим сеточную функцию у, = у(1„) — приближенное решение задачи (1).
Сеточная функция г„= у.— иП„) является погрешностью разностной схемы. Напишем уравнение для г„. Для этого подставим у„=г„+и„в (7) н учтем, что у„+, — у„= (㄄— г„) + (и..о, — и.), (((„, у„) = 7((„, и„) + (1(1„, и + г,.) — 7(7„, и„)) )(о„, и„)+а„г„, где а, = 7'„(7„, и„+ Ог„), О ( О ~ 1. В результате получаем для г„ задачу " = а„г, + !)„ и = О, 1, ..., г, = О, (8) где ор„— невязка или погрешность аппроксимации схемы (7) на решении и = иИ) задачи (1), равная !'о!-! ия тм = ! ((о ио)— т Оценим ор„при т- О.
Для этого подставим то " !' ° ви '! ио,=и„+ти, + —,и„+ ...!и= — ! е 2 в! / в (9) и, учитывая, что согласно (1) й. =7(Е„, и„), получим: !р„= 0(т) или !!!т!!с = шат!!Ро!=0(т). Это означает, око„кт что схема Эйлера имеет первый порядок аппроксикво(ии. Покажем, что схема Эйлера сходится, т. е, )г„!!о= = Лу„— им о - О при т - О, и имеет первый порядок точности, т. е. !!г!! = шах ) г,(=0(т). ооо„кт Доказательство проведем в предположении, что — К ~ !„(1, и) ( О, т -"= 2/К.
(10) гл. т. звдлчл коши Из (8) определим г„, = (1+ та„)г„+ тф, ! г„.,) ~ 11+ та„()г„! + т(П: 1 ( ) г„! + т(йь,), так как 11+ та 1 ~ 1 согласно (10). Отсюда следует, что п ь (гь в)(~(гз( —, ~з т)П~( — ~з т(ф~), (11) б — О ь=з т, е. ПгПе = 0(т). Если условие (10) невыполпеио, ио 1/„! < К, то вместо (11) получивши (г„в,( ( Уе"Бй:Пс, и утверждение !г(е = 0(т) остается в силе. 3, Повышение порядка точности. й1етод ,')багра в~ сьма прост, однако дает низкую точность.
Порядок точности численного решения ио т можно повысить, ие усложняя алгоритма. 11дея шегодо Рунге повышения точности состоит в следующевь Предположим, что решение и и(Г) является достаточно гладким и имеет место следующее разлил<ение погршииогти г„= у„— и„ио стсигияв~ т: (12) у, = и„+ а~йг+ ()(От +..., где а(() и ~(0 — функции, ие заиисягциь от т. Выберем две сетки с шагами т, и ть имеющие общио узлы (например, т, = т, т., = т/2), решим иа каждой сетке задачу (7) и найдем ум'(Ги) н у'"'(й,,) соответственно. Возьмем общий для дзук сеток узел ~„ и напишем (12) прп н = и": уко ((„.) =-.
и ()„.) + а! (ь.) т, —,'- О (т';), у'Ъ„*) = (~ь.) + а (г„.) тв + 0 (тз), Ооразуем линенкую комбинацию с параметром о; у((„,) = — оу (( ) + (1 — о)у (гз ) = = и (г„ь) + )от, + (1 — о) тг) а ((„) + 0 (т'", + т'.,'). 'Выбирая о нз условия от, + (1 — о)т, = О, т. е. полагая о = т,!(т, — т,), получаем у (г,ч) = И (1,*) + О (т'), т = ГОЗ Х (т„т,). Сеточная функция у приближает решение и = и(() со вторым порядком точности по т.
Такям образом, мы по- 9 ь метОды гул!ге — нуттА высили точность метода Эйлера, проведя два расчета на сетках с гпагамп т, и т,. Эту процодуру можно продолжить, имея в виду (12). Проводя расчеты по схеме (7) на трех сетках с шагами т„ть т,, мы определим решение задачи (1) с третьпы порядком точности в узлах, являю- Шихся обплими для этих трех сеток. 4. Схемы Рунге — Кутта. Порядок точности можно повысить путем усложнения разностной схемы. Весьма распространены на практике схемы Рунге — /!'утта второго и четвертого порядков точности. Вычисления по схеме Рунге — Кутта второго порядка точности проводятся в два этапа. На первом этапе находится промежуточное значение у„ по схеме ')йлера с шагом ят: у„= у„+ ят/(!„, у„); на втором этапе находится значение у„е, по формуле у„.„, = у„+ т(1 — о)/(!„, у„) + от/(!„+ ат, у„), где я ) О, о > Π— параметры.
Исключая у„, получим для у„е, схему " =- (1 — )/((„, )+ + о/((л -Р г, у„+ /П„, у„)), (13) Порядок точности схемы зависит от параметров а, т. Найдем выражение для певязкн, пли погрешности аппроксимации схемы (13). Для этого, по аналогии с п. 2, перенесем (у„„, — у„)/т в правую часть и подставим и„, и„„вместо у„, у„+ь В результате получим для невязки выражение !Р = (1 — о)/П, и,) + с/((, + ат, и + ят/П„и„))— — (и„е, — и„)/т, (13') Воспользовавшись разложенннмп по формуле Тейлора, получим ! „= т(оя — 1/2) и„+ 0(тг).
Отсюда видно, что схема (13) имеет второй порядок ап- ПРОКСИМаЦИИ ЛМ 0(тг) ПРН ВЫПОЛНЕНИИ УСЛОВИЯ (14) оа = 1/2, ГЛ. Ч. ЗАДАЧА КОШИ Таким образом, существует однопараметрическое семей- ство схем ИЗ), И4) второго порядка аппроксимации. Рассмотрим частные случаи, 1) а = 1, се = 1/2: Ги Еи т/ = Яп,уи), Это известная схема предиктор — корректор, и:ш счет— пересчет. Ее можно переписать иначе: упы = уи ~.
т/(си+ 2, уи~, т уи — — уп+ З /(Ги,уи), или, после исключения у„, в виде т т (Уаег — Уа):т = /~се+ и ~ Уи+ д 1(1|а уи)1 2) о = 1/2, и = 1: (15') = — (/(ги, уи) + /(Га~м уи+т/(4, у,))]. (16) Эту схему также можно трактовать как схему преднк- тор — корректор: сначала — схема Эйлера с шагом (предиктор): И8) Л, = /(1„+ т/2, уа + тЛ',/2), /д — /(Е„+ т, уи + тЛ,), 11ри определении уи„по ааданному уп надо четыре раза вычислять правую часть. у„ у„ + т/(Ли у.); затем — схема с полусуммой (корректор); (У.ы — У.)/т ='/,(/((.„У„) + /(Г„аи Уп)).
Идея метода предиктор — корректор часто использу- ется при написании разностных схем для уравнений ма- тематической физики с частными производными. Приведем формулы для схемы Рунге — Кутта 4-го по- рядка точности: уатт Еи 1 = е (Лг (у ) + 2Л (у ) + 2уа (у ) + Л, (у.) 1, и =- О, 1, ..., у, = и„И7) где Л'и Йи Лгм Л, — поправки, вычисляемые по формулам Л, /(1., у„), Л, /(1. + т/2, у, + тй,/2), о!.