Samarskij A.A. Vvedenie v chislennye metody (ru)(400dpi)(T) (969542), страница 27
Текст из файла (страница 27)
Введем на отрезке интегрирования 0 < ( < Т сетку ю, П, = пт, н = О, 1... ). Будем обозначать через у. у((.) сеточную функцию. Простейшим численным методом решения уравнения (1) является ревностная схема Эйлера; = 7(го Уп) и †-- О, 1 уо =- ио (7) Значения у„=-у((.) находятся последовательно, начиная 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') = — (Е(Еи, уи) + /(Еа~м уи+т/(Е„, у,))]. (16) Эту схему также можно трактовать как схему преднк- тор — корректор: сначала — схема Эйлера с шагом (предиктор): И8) Л, =/(Еи+ т/2, уа+ тЛ',/2), Ед /(Е„+ т, уи+ тйп), 11ри определении уи„по ааданному уп надо четыре раза вычислять правую часть.
у„у„+ т/(Е„, у.); затем — схема с полусуммой (корректор); (у.ы — у.)/т ='/,(/(Е.„у„) + Е(Е„,и уп)). Идея метода предиктор — корректор часто использу- ется при написании разностных схем для уравнений ма- тематической физики с частными производными.
Приведем формулы для схемы Рунге — Кутта 4-го по- рядка точности: уатт Еи 1 = е (Лг (у ) + 2Л (у ) + 2уа (у ) + Л, (у.) 1, и =- О, 1, ..., у, = и„И7) где Л'и Йи Лгм Л, — поправки, вычисляемые по формулам Л, /(Е., у„), Л, /(Е. + т/2, у, + тй,/2), о!.
МЕТОДЫ РУНГŠ— КУПА 181 Поясниос, ьак вести счет по этой схеме. При я=О известно у, = и,. Можно вычислить последовательно Уо йо, )со )с, и найти с Ус = Уо + 6 т (йс (Уо) + 2)со (Уо) + 2йо (Уо) + )со (Уо))1 после чего вычисления повторяются прп я 1, 2..., Для невязкн получаем выражение фо = 8 ()гс(ио) + 2)со(ио) + 2)го(и„) + йо(ио))— где й,(и„) В=1, 2, 3, 4) определяются по формулам (18), в которых вместо у„ подставлено и„. Проводя разложение и„о„Х',(и„), )г,(и„), )с,(и„,) в окрестности 1=Г„, убеждаемся в том, что сГ,=О(т'), т.
е. схема (7), (18) имеет четвертый порядок аппроксимации, если и =иП) имеет четыре непрерывных производных, Все методы Рунге — Кутта являются явными (для определения у.„надо провести вычисления по явным формулам) н одношаговыми (для определения у„ы надо сделать один шаг па сетке от г. к с.+,).
5. Устойчивость разностных схем, В и, 1 мы рассмотрели важное свойство дифференциального уравнения (1)- устойчивость (по начальным данным н по правой части). Для изучения устойчивости по начальным данным нелинейного уравнения (1) будем рассматривать модельное уравнение — +),и =. О, )..= сопзс) О, г) О, и(0) = и .
(20) сп Его решение иИ) = и,в " убывает при Х ) 0 и 1и(с)! ( (и,! при й>0 для всех г>0, (21) т. е. уравнение (20) устойчиво при ). ~0, что соответствует условию 1„~ О. Вводится естественное требование: для разностных схем, аппроксимирующих модельные уравнения, долясен выполняться аналог неравенства (21): !У„! ~ 1у,! для всех п 1, 2, ...
(22) Мы увидим ниже, что это не всегда выполняется. Рассмотрим ряд примеров. гл. т. зздзчх кОши 182 1) Явная схема Эйлера: ' + Лу = О, увез = (1 — тЛ) у„. (23) Отсюда видно, что условие )у.„) <)у„) =-...<)у„) (24) выполнено прп ) 1 — тЛ) < 1 плп — 1 < 1 — тЛ < 1, т. е. прл тЛ -2. (25) Если, например, тЛ > 3, то )у.„,) = )тЛ-1~)у„) >2)у„) >... > 2"+')у,), !у„! >2")у„( при п Схема неустойчива, условие (21) пе выполнено. Таким образом, схема Эйлера (23) условно устойчива прп т= «2/Л, г.>0.
2) Пеявная схема Эйлера: ув.~-З ув 1 т + Лув ы =- О, уве у, (20) 1+тЛ ' Так как 1/(1+ тЛ) < 1 прв любых тЛ > О, то схема безусловно )сгойчнва. !у,) <!у,) прн любых т в Л>0, н=О, 1, 2, ... (27) 3) Схема с весами: ув-~з у в + Л (оув+, + (1 — о) у„) = О, у„„, = ду . (23) Схема устойчива при 1 — (1 — ) Л 1+ втЛ Видим, что ) д) < 1, если — 1 — отЛ < 1 — (1 — о) тЛ «1 + отЛ пли 1+т(о — 1/2)Л>0, так что 1+отЛ>тЛ/2>0. Таким образом, схема с весами безусловно (при любых т) устойчива при о>1/2 и условно устойчива при о «1/2, если т < 1/((1/2 — а)Л). 4) Схема Рунге — Кутта второго порядкаа. Подставляя в формулу (13) /= -Лу, получаем (29) «. з У„ет= УУп, д = 1 — тЛ+ в-ттЛ2. а к методы Ранги — куттх 1ЗЗ Схема устойчива, (у„! !у„(, если ! д ! — — 1 — тЛ + ~ тай< ~(1, что имеет место прп т).
(- 2. (25) С сема Рунге — Кутта второго порядка устойчива притом же условии, что и явная схема Эйлера. 5) Схема Рунге — Кутта четвертого порядкака, Нодставляя ) = — )у в (17), (!8), получаем Ук. ~ = Чую д — — 1 — тй + —, т'-'),з — —, тз).з -; — тМ. (30) в " в ' 24 у„„= дй„+ щ„, д = д(тй), (32) порядка схемы. где выражения для д н ~р„зависят от Так, для схемы второго порядка имеем ! Ч --. 1 — т). -,'- —,, т.-).-, с(ь, =.