Буслов, Яковлев - Введение в численный анализ (947494), страница 17
Текст из файла (страница 17)
<с~о — ооэ11 бе р(к(ял — ооо10 Поскольку и" = д -~- //,',, то [ил[ < с -~- сс = с|, и Ьеп" "'~ = — Ьс| ен" ~~ос+о(6) = Х: 1 2 / о=о оо = Ь вЂ” 'е'Я' "'"+о(6) = 0(Ь) . 2с 1 [и~о1[ < — Ьс1 Таким образом, метод Эйлера имеет первый порядок точности по Ь и при достаточно малом шаге приближенное решение близко к точному. 8.2.3 Методы Рунге-Кутта Метод Рунге-Кутта 2-го порядка Выпишем ряд Тейлора лля решения дифференциального уравнения и(х) с точностью до квадратичных членов Ьо и, о1 = и, + Ь/(х„ио ) + — [/,(х„и„) + /(х„и, ) /„(х„и, )) +... 2 (4) Сама по себе такая схема уже годится для приближенного решения дифференциального уравнения, однако ее неудоб- (о) и,э1 = из + 6[о/(хм по) + б/(х, + уй,ио + бЬ)) +... где константы а, б, у, б необходимо определить исходя из того, что эти два представления должны совпадать с точ- ностью до 0(Ьо) .
Для этого разложим в (5) /(х, + уЬ, и, + бЬ) в рял Тейлора и,ол = и + 6(о+,9)/(х„и ) +,96 [у/'(хз, иу) + б/,',(хмиД+ 0(6 ), Сравнивая с (4), получаем 3 уравнения на 4 неизвестных коэффициента: а+,3 = 1 ., )у'у = -„', )Зб = -'/(хю и,) . Выразив их через б и заменив истинные значения и = и(х ) на приближенные у и отбросив кубические члены получаем набор разностных схем Рунге-Кутта 2-го порядка Ь 6 уоэ1 = у, + 6[(1 —,3)/(х,уо) + 3/(х + —, у + — /(х, у ))), О < /) < 1 .
Обычно полагают )о равным 1/2 или 1. Метод Рунге-Кутта 4-го порядка Изложенным выше способом можно строить схемы типа, Рунге-Кутта различного порядка точности по 6 . В частности, метод Эйлера является схемой Рунге-Кутта 1-го порядка. Наиболее удобной и употребительной является схема 4-го порядка. Она имеет следующий вид 6 у„., = у1+-(й, +2й, +2йо+64), б й1 = /(х,, у ), йо = /(х, е Ь/2, уо + Ьй1/2), йз = /(хо + 6/2,уо +Ьйз/2), 64 = /(хо +Ь,уу + Ьйо) 87 ство состоит в том, что приходится лдфференцировать функцию /(х,и) по обоим аргументам.
Если заменить эти производные разностными, то формально можно записать На каждом шаге величины Ь,„расчнтываются заново. Интересно отметить, что если / есть функция только от х, то решение уравнения есть и(х) = ио + < /(з)с(1, и зо формулы Рунге-Кутта превращаются в формулы приближенного интегрирования. Методу Эйлера соответствует фор- ио = /(х, и, и') и(хо) = ио и'(хо) = ио /и 1 Обозначим и' = о н введем вектор и = < ~, тогда система принимает внд и = Г(х,и) и(хо) = ио /Рз '1 /Ь„, '1 Если ввести вектор у = < ~, приближений к истинному решению и„в точке х, и вектора 1с ( расчетных коэффициентов, то метод Рунге-Кутта 4-го порядка принимает внд / уз~ з '1 / йб Ч- Ь(Ьз + 2Ьз Е 2Ьз -~- Ьз)/6 з, + Ь(дз т 2дг + 2дз Ч- 64) /6 Ь Ь Ьз = з, Ьз = з + — 61, Ьз = зз Ч- — 62, Ьз = зз + Ь2з 2 2 Ь Ь Ь оз = /(х„ р„ ,), оз = /(х, + †, у, + — йы х, + — о1), 2' 2 ' 2 Ь Ь Ь оз = /(хз + —, уз ч- — ьш зз + — оз), о4 = У(хз ч- ь, Уз ч- ььз, хз ~- 1чз) .
2' 2 ' 2 8.2.4 Методы Адамса Явная схема Адамса Рассмотренные выше схемы являются явными одношаговыми (для нахождения последующего приближения используется лишь одно предндущее) схемами. Приводимые виже методы являются многошаговымн. Онн могут бьггь как явными, так н неявнымн. Пусть задана задача Коши < и = /(х,и), и(а) = ио. Для точного решения и(т) (которое нам неизвестно) выполнено э3 и(х„эз) = и(х ) + / /(х,и(х))с(х . (6) Предположим нам известны приближенные зназения р, функции и(х) в Ь точках х„зэп х„ззз, ..., х (стартовые Ь точек, в частности, можно найти методом Эйлера или методами Рунге-Кутта того нли нного порядка), тогда функцию 88 мула левых прямоугольников, метохзу Рунге-Кутта 2-го порядка с В = 1 соответствует формула средних, а с 6 = 1/2 — формула трапеций.
Наконеп, методу Рунге-Кутта 4-го порядка соответствует формула Симпсона с шагом Ь/2 . Это косвенно свидетельствует о порядке точности той илн иной схемы. Естественным образом схемы Рунге-Кутта обобщаются на случай систем уравнений 1-го порядка прн помощи формальной замены функций у(х) н /(х,р) на вектор-функции у(х) н Р(х,у) .
При этом, поскольку, уравнение и-го порядка эквивалентно системе из и уравнений 1-го порядка, то методы Рунге-Кутта можно применять к задаче Коши для уравнений порядка выше 1-го. В частности, рассмотрим задачу Коши для уравнения 2-го порядка г э! й д„.~ = у„+ / Р,й(х)й(х= у„+ ~~' Л,з(х т! „у тй-,) =1 (7) Описанная схема, называется Ь-и!агавой явной формулой Адамса. Неявная схема Адамса.
Метод прогноз-коррекции Пусть Р .й, й,,(х) — интерполяционный полинам порядка Ь, построенный по Ь -г 1 значению )'„й~.й,..., 1'„, ~„й!, одно из которых, именно 7' т!, мы будем считать неизвестным. Модифицируем (7) заменив в нем Р,й на полипом более высокой степени Р„,, йт!, интеграл от которого выражается в виде линейной комбинации зна йений у! с некоторыми новыми коэффициентами Д ! й р .д =у + / Р -,ййэ!с(х = да+ ~~ ДУ .н- +!Зо7(х й!,уэ!) . (8) !=1 Формула (8) представляет собой неявную схему Адамса и является уравнением на у т!, которое можно решать скажем методом последовательных приближений. Естественно, что начальное приближение у„йй, должно быть разумно выбрао но.
Для этого удобно объединить явную и неявную схемы Адамса в одну, называемую методом "прогноз-коррекции". Именно, с помощью явной схемы определяется начальное приближение у э! (прогноз)> а затем по неявной схеме оно о необходимое число раз (обычно один или два) корректируется методом последовательных приближений до достижения заданной точности (коррекция): й р~-н = у- г ~ Л!Х а!- ,о =1 й у .!й!' = у + ~, бйХ +й- + бе~(х т!, У™„.! ) . !=1 Пример. Пусть Ь равно 1 и )й = х т! — х„. В этом случае "прогноз" представляет собой интегрирование по формуле левых прямоугольников, совпадающее в данном слу.йае с методом Эйлера, а "коррекция — интегрирование по формуле трапеций; < уй!=у +АУ о у.й! = у + оо(у + у -и) Последнюю формулу необходимо понимать как уравнение на у„.й ! (и, соответственно, на 7' й! = ((х„й !, У„т ! )), которое решается методом последовательных приближений.
8.3 Краевая задача 8.3.1 Метод стрельбы Рассмотрим краевую задачу для уравнения второго порядка ра(х) = У(х,р,у'), хе (а,Ь] айр(а) +!Уйу (а) = уй, озу(Ь) + !Згу (Ь) = !о . 7(х,и(х)) в (6) для приближенного вычисления интеграла можно заменить на интерполяционный полипом Р„,й(х) порядка Ь вЂ” 1, построенный по Ь точкам (хй! Д(хп у!))" йэ„интеграл от которого считается явно и представляет собой линейную комбинацию значений У, = 7(хе у,) с некоторыми множителями Л,. Таким образом мы получаем следующую рекурентную процедуру вычисления приближенных значений у, функции и(х) (являющейся точным решением задачи Коши) в точках х, Перейдем от этой задачи к системе уравнений первого порядка.
Пусть и(х) = у(х) и о(х) = у'(х) . Тогда уравнение (9) переходит в и' = и, й = у(х,и,е), а краевые условия принимают вид < аги(а) +,Вгю(а) = ум оги(Ь) +,Зги(Ь) = уг. (10') Таким образом исходная краевая задача свелась к задаче 1-го порядка для системы двух уравнений. Метод сжрельбъг — зто переход к решению некоторой задачи Коши для системы (10). Выберем произвольно и(а) = б .
Теперь определим с(а) из первого из условий (10'). и(а) =,9, (уг — огб) = 0(б) Далее, рассмотрим теперь систему (10) с начальными условиями < и(а) =б с(а) = О(О Такая задача является задачей Коши. Решим ее некоторым способом (например, методом Рунге-Кутта 4-го порядка). Решение (ио гй) наверняка не будет удовлетворять второму краевому условию. Обозн'гшм через гас возникающую невязку: и(а) = б,, в(а) = г1®), 8.3.2 Метод сеток (разностный метод) Рассмотрим разностный метод на примере следующего дифференциального уравнения второго порядка: < -и" + а(х)и = у(х) [а, Ь[, и(а) = А, и(Ь) = В ( ) . Разобьем промежуток на Х частей: а = хо < хг « ... хл = Ь .
Пусть шаг сетки постоянный: х, — х, г = Ь Аппраксимируем вторую производную и" (х;) разностной: и(хгтг) — 2и(х;) + и(т,— г) ирй(х,)Ь, 4 выражение для которой легко получить из ряда Тейлора и(х, хЬ) =и(х,)ши(хе)Ь+ ' х ' + ' +... 2 б 24 90 аги(Ь)е + Вге(Ь)с — 'уг = г1(~) . Задача состоите отыскании такого б„ при котором невязка обращается в ноль: г1(б.) = О,что соответствует удовлетворению второго краевого условия. Варьируем (стрельба) пристрелочный параметр б до тех пор,пока не образуется вилка: б,: Аф)11(бг~.г) < О, тогда можно утверждать, что б.
Е [бмбыы[. После того, как промежуток на котором находится корень функции г1® найден, делим отрезок [би б,+г) пополам и выбираем ту его часть, на концах которой г.'г имеет разные знаки, и так далее, до достижения требуемой точности. Замечание. при каждом выбранном б, необходимо решать зада гу Коши диффереш~иального уравнения (10) с начальными данными Введем обозначения: и(х;) = щ, д, = д(х;), ~; = у(х,).
Заменим в (11) вторую производную разностной, тогда для приближенного решения у, в точках х, получаем трехдиагональную систему — у, г+(2+Ь д)у,— уз1= ЬЬ~, ~=1,2,...,Х вЂ” 1 (12) 8.3.3 Сходнмость сеточных методов Пусть и(х) — точное решение уравнения (11), а у, — численное решение задачи (12).
Справедлива Теорема. Прешь д(х), У(х) Е С~'„Л1 и д(х) > О, Ч х Е [а, Ь[, шогда !и(х,) — у;/ = О(Ьг) . Доказательство. Поскольку д(х),у(х) Е СД В то из уравнения (1Ц следует, что и(х) Е С~[а,Ь], н тогда используя ряд Тейлора можно записать Значения и, точного решения удовлетворяет уравнениям и; г — 2и;-ЬШ~.г . 1 где б, некоторые точки на [а, Ь). Для погрешности е,=у,— и; возникает система уравнений Ьг — +д,е,= — Ь и~~(Я,), ее=О, ел =О 12 (13) Пусть хь - точка, где модуль погрешности максимален, то есть ~еь! > ~е,~, 1 = 1,2,...,)У вЂ” 1, Этой точкой не может являться хо и хгу, поскольку ео = ек = О .
Сравним модули левой и правой части системы (13) при индексе равном Й ~ее(2+ деьг)) < [еь г ! ч- ~еь гг) + — ь~~ирп(сг)~, (ег((2+ дьЬ ) < 2)еь) + — Ь (и~ ~(бу,.)) 12 откуда < 1 г/и %)/ 12 /дь/ то есть Ь' [ ей(И шах)е;! < — шах 12 * (д! гго и требовалось доказать. Для ее разрешимости достаточным условием (но вовсе не необходимым) является диагональное преобладание. В нашем случае зто сводится к требованию ~2-ь Ь~д,~ > 2, которое вьшолняется если д(х) > О, 8.3.4 Метод Нумерова Точность сеточного метода (12) можно повысить до четвертого порядка несколько модифицирован его методом Нумерова, справедливым для более широкого класса уравнений.