Турчак Л.И. Основы численных методов. Под ред. В.В.Щенникова (1987) (1095857), страница 37
Текст из файла (страница 37)
Эта погрешность Р ю / состоит из двух частей: е„= е„+ е„. Составляющая е; определяется погрешностью начального значения е, = = у,— У(х,). Как правило, начальное значение задается точно, т. е. у, = У(х,), и тогда е, =О и следовательно, равна нулю та часть погрешности решения е,, которая Ф связана с е,. Погрешность е; обусловлена оторошенными членами в разложении в ряд Тейлора (7.16). На каждом шаге зта погрешность имеет порядок О(Й'-), так как именно члены такого порядка отброшены в (7.16). При нахождении решения в точке х„, отстоящей на конечном расстоянии Х от точки х„погрешность, в чем легко убедиться, суммируется.
Суммарная погрешность, очевидно, равна пО(Ь'). Если учесть, что Ь = Еlп, то для суммарной погрешности получаем окончательное выражение: пО(й') = — О (й') = О (Ь); . (7.18) Таким образом, мы показали, что метод Эйлера имеет первый порядок точности. Дадим еще одну схему метода Эйлера.
Значение правой части ~(х, У) уравнения (7.9) в схеме (7.17) возьмем равным среднему арифметическому значению между ~(х;, у;) и ~(х;~~, у,+,), т. е. вместо разностной схемы (7.17) напишем У;~-, = У + — (У (х;, у,) + У (х; „, у,+д)), ~ = О, 1,, (7.19) Полученная схема является неявной, поскольку искомое значение у,+, входит в обе части соотношения (7,19) 218 Гл.
7. овыттповенттые диФФеРенциАльные уРАвнения и его, вообще говоря, нельзя выразить явно. Для вычисления у,!.! можно применить один из итерационных методов. Если имеется хорошее начальное приближение у<, то можно построить решение с использованием двух итераций следующим образом. Считая у! начальным приближением, вычисляем первое приближение у;+, по формуле (7.17): У!+ = у!+ Ч( ' у ) ° (7,20) Новое значение у;+, подставляем вместо у;+! в правую часть соотношения (7.19) и находим окончательное зна- чение й у; = у;+ —, ГУ(х!, у;) + У(х!!т, у, )).
(7.21) Алгоритм (7.20), (7.21) можно записать в виде одного соотношения: У!+1 = У! + ~ (1(х!1 У!) + 1(х! !-т1 Ч! + Ч(х!~ Ч!))]~ (7.22) Ь ~ = О, 1, ... Рис. 40. Модифицированный! иетод Эйлера Эти рекуррентные соотношения описывают новую разностную схему, являющуюся модификацией метода Эйлера, которая называется мегодолт, Эйлера с пересчетом. Можно показать, используя разложение в ряд Тей- лора, что этот метод имеет у1 !~ > второй порядок точности. Его применение к решению задачи Коши уменьшает в среднем значения погрешно- ~У! стей до величин 0(Ь') вием! ! сто 0(Ь) в обычном методе ! Эйлера.
На рпс. 40 дана геомето ~,'~ г рическая интерпретация пер- / 1 вого шага вычислений при решении задачи Коши методом Эйлера с пересчетом. Касательная к кривой У(х) в точке (х„у,) проводится с угловым коэффициентом Р У0 = /(хо~ У,). С ее помощью методом Эйлера (7.17) найдено значение у,, которое используется затем для определения наклона касательной т(х„у,) в точке (х„у,).
Отрезок с таким наклоном заменяет первоначальный от- 2И 5 2, 3АДАчА коши резок касательной от точки х„+ Ы2 до точки х,. В результате получается уточненное значение искомой функции у, в этой точке. Метод Эйлера с пересчетом можно получить и иначе, используя разложение функции в ряд Тейлора. Запишем это разложение в виде 0 (1,3) (7.23) В этой схеме должен быть сохранен член с Ь'. Для этого аппроксимируем вторую производную с помощью отношения конечных разностей: / Р '+ ' + О (Ь) Подставляя это соотношение в (7.23), получаем У~+1 = У1+ '2 (Уг + Уъ+1) + 0 (Ь, ). (7.24) Заменяя производные выражениями у; = ~ (х;, у;), у;~., — — ~ (х; „„у;,,), (7.
25) где у;+, найдено по формуле (7.17) метода Эйлера, приходим к разностной схеме (7.21) метода Эйлера с пересчетом. Такой способ вывода формулы (7.21) позволил получить оценку погрешности метода. В соответствии с (7.24) погрешность на каждом шаге (локальная) имеет порядок Й', а суммарная — порядок Й'. Заметим, что при использовании неявной схемы (7.19) получается практически то же значение у~, причем наклон Отрезка, соединяющий то'1ки (х0, у0) и (х~, у~), постоянный и равен наклону касательной к кривой в точке х,+ Ы2. Однако применение схемы (7.И), требующей построения итерационного процесса для вычисления значения у„привело бы 'к значительному возрастанию времени счета на каждом шаге.
С помощью метода Эйлера с пересчетом можно проводить контроль точности решения путем сравнения значений у;+, и у,+, и выбора на основании этого соответствующей величины шага Й в каждом узле. А именно, если величина ~ у,+, — у,+, ~ сравнима с погрешностями вычислений, то шаг нужно увеличить; в противном случае, если эта разность. слишком велика (например, ~ у~+~ — у~~~ ~ ) )0.01!у";+~!), значение й следует уменьшить. Используя 2~0 ГЛ 7 ОБЫННОВЕПН1,тГ Л!1ФФЕРГНЦ11АЛЬН1,1Е УРЛВНЕ1П1Я эти оценки, можно построить алгоритм метода Эйлера с пересчетом с автоматическим выбором шага, Рекомендуем читателю составить такой алгоритм и построить соответствующую блок-схему. Существуют и другие явные одношаговые методы.
Наиболее распространенным из них является метод Рунге — Кутта. На его основе могут быть построены разностные схемы разного порядка точности. Приведем схему Рунге — Кутта четвертого порядка. Запшпем алгоритм этого метода в виде У +1 = Уг + 6 (Жю + 2/с, + 2/са + гсз) г = О, 1, ..., /с, = /(х;, у;), /с, = /(х, + Ы2, у, + Л:,/2), (7,26) /с, =/(х,+ гг/2, у;+ /с,/2), гс,= /(хг+ Уг, у;+ /с,).
Таким образом, метод Рунге — Кутта требует на каждом шаге четырехкратного вычисления правой части уравнения /(х, у). Метод Эйлера (7.17) и его модифицированный вариант (7.22) также могут рассматриваться как методы Рунге— Кутта первого и второго порядков. Метод Рунге — Кутта (7.26) требует большего объема вычислений, однако это окупается повышенной точностью, что дает возможность проводить счет с большим шагом.
Другими словами, для получения результатов с одинаковой точностью в методе Эйлера потребуется значительно меньший шаг, чем в методе Рунге — Кутта. Проведем сравнительную оценку рассмотренных методов на простом -примере, позволяющем получить также и точное решение.
П р и и е р. Решить задачу Коши сгУ/сгх=2(х'+ У), У(0) =1, 0 (х ( 1, Ь =01. Р е ш е н и е. Сформулированная задача Коши может быть решена известными из курса высшей математики методами. Опустив выкладки, запишем окончательное выражение для точного решения с учетом заданного начального условия.
Опо имеет впд ;гс = 1 5е'" — х' — х — 0.5. Проведем теперь решение данной задачп численно с помощью рассмотренных выше методов. Результаты вы- % 2. ЗАДАЧА КОШ11 221 числений приведены в табл. 6. Как видно из этой таблицы, самым точным является решение, полученное методом Рунге — Кутта. Анализ решения с использованием метода Эйлера позволяет проследить рость погрешности с возрастанием хо При х, = 1 погрешность составляет почти 18%. Следовательно, при большом числе узлов метод Эйлера может привести к заметным погрешностям, и в таких случаях предпочтительнее пользоваться численными методами высших порядков точности. Табл нца 6 Модифицированный метод Эйле- ра Метод Рунге — кутта Точное реше- ние Метод Эйлера С уменьшением шага Ь локальная погрешность метода Эйлера снизится, однако при этом возрастет число узлов, что неблагоприятно повлияет на точность результатов.
Поэтому метод Эйлера применяется сравнительно редко прп небольшом числе расчетных точек. Наиболее употребительным одношаговым методом является метод Ру,чге — Кутта. Рассмотренные методы могут быть использованы также для решения систем дифференциальных уравйений. Покажем это для случая системы двух уравнений вида ИУИх = 1Р (х, У, 2), ИЫ =1~(х, Г, Я). Начальные условия зададим в виде У(х,) у„Я(х,) = з,. 0.1 0.2 0,3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.2000 1.4420 1.7384 2.1041 2.5569 3.1183 3,8139 4.6747 5,7376 7.0472 1.2210 1.4923 1.8284 2.2466 2.7680 3.4176 4.2257 5.2288 6.4004 8.0032 1.2221 1.4977 1.8432 2.2783 2.8274 3.5201 4.
3927 5.4894 6.8643 8.5834 1.2221 1.4977 1.8432 2.2783 2.8274 3.5202 4.3928 5.4895 6.8645 8.5836 222 гл. 7. ОБыкнОВенные диФФеРен11иАльные уРАВнения По аналогии с (7.26) запишем формулы Рунге — Кутта для системы двух уравнений: у1+1 = у1 + ~ (/со + 21с, + 2йа + 1сз) Ъ + = ' + 6 (1о + 21, + 21, + 1,), 1=0,1. Ус, = сг (хь у;, г;), Е, = ср (х;, у;, г,), ь Й=«р х+ — у+ — ~в+ — о ь 1, 11 1с 1 ~сз с~(х~+ ~ у!+ ~2сз~+ ~2), ~3 $(х1+ ~ у1 + ~~~~ зс+ ~3) ° К решению систем уравнений 'сводятся также задачи Коши для уравнения высших порядков.