Амосов А.А., Дубинский В.А., Копченова Н.В. Вычислительные методы для инженеров (1994) (1095853), страница 78
Текст из файла (страница 78)
и-1 а) гг ~2 гЗ 4 Рис. Ц.6 В данном случае в силу линейности задачи (14.3б) глобальная и-1 погрешность есть просто сумма локальных погрешностей: еи = Е 1;. г=О Для нелинейного уравнения у' = ~(1, у) это уже не так. В зависимости от характера поведения интегральных кривых глобальная ошибка 427 На примере формулы (14.38) легко увидеть различие между локальной и глобальной погрешностями. Локальная погрешность — это погрешность, допускаемая на одном элементарном отрезке, т.е.
может оказаться больше (рис. 14.6, а) или меньше (рис. 14.6, б) суммы соответствующих локальных погрешностей. З 14.3. Использование формулы Тейлора Один из наиболее простых для понимания подходов к решению задачи Коши основан на использовании формулы Тейлора у (г + Ь) = у (~) + у (~)Ь + — Ь + ... +, Ь~ + Л~, (~, Ь).(14.39) у"(~) р<з >(к) у~~~ ~ ~ й) Здесь А~ ~(1, Ь) =, Ьр — остаточный член формулы Тейлора; (р + 1)! ~ — некоторая точка, принадлежащая отрезку 11, 1+ Ь1. Отбрасывая остаточный член, получаем приближенное равенство „(~+ Ь) ц „(~) + „'(~)Ь+ Ьг + + ~Р ~~ (г) у'"'(г) (14АО) Если значение решения у в точке 1 известно, то в силу равенства ю'(~) = Х(~, у (~)) (14.41) Р значение производной у'® также можно считать известным.
Для того чтобы вычислить производные у", у™, ... более высокого порядка, входящие в формулу (14АО), продифференцируем равенство (14.41) по 1, используя правило дифференцирования сложной функции. Тогда получим у" = 1~ + У„'у ' = Г~ + 1„'Я Ю" = я + у" Ю ' + (у г~' + у" у')1+ ГИ~ + 1 'Ю ') = (14.42) (14.43) [р) уп Уп Ьг+ + у 21 ' ' р! (14.44) Здесь у„= ~(~„, у„); значения у„и у„получаются в результате под- 428 и т.д.
Как нетрудно заметить, выражения для производных у<~> усложняются по мере роста порядка с. Использование приближенной формулы (14.40) приводит к следу-' ющему явному одношаговому методу: становки в формулы (14.42) и (14.43) значений 1 = 1„и у = у„; анало- гично вычисляются значения у~ "' при Ь > 3. Пример 14.12. Найдем численное решение задачи Коши у' = 21у, у(0) = 1 (14.45) на отрезке [О, Ц, используя метод (14.44) при р = 2, обладающий вторым порядком точности.
Как нетрудно проверить, точным решением этой задачи 2 является функция у (1) = е~ . Дифференцируя уравнение по т, получим следующее выражение для второй производной: у = 2у + 21у = 2 (1 + 26)у. Поэтому расчетная формула (14.44) в данном случае примет вид /~2 рп+1 = Уп + Ь21пУп + — 2 (1 + 2тп)уп = (1 + 2тпЬ + (1 + 212)Ь2) уп Найденное по этой формуле для Ь = 0.1 приближенное решение приведено в табл. 14.1. Для сравнения в ней же приведены значения точного решения. 429 Локальная погрешность этого метода 1„совпадает с величиной ; Я „1(1„, Ь) остаточного члена формулы Тейлора, пропорциональной ' ЬР'1. Пользуясь этим, можно доказать, что метод (14.44) сходится и ; имеет порядок точности, равный р.
Несмотря на то, что рассматриваемый метод теоретически дает возможность найти решение с любым порядком точности, на практике он применяется довольно редко. Дело в том, что использование формулы (14.44) приводит к необходимости вычисления большого числа ф+ д частных производных — ~ —, что чаще всего является весьма трудоемкой и нередко аналитически невыполнимой операцией. Более существенный аргумент против использования метода (14.44) состоит в том, что к настоящему времени разработаны эффективные численные методы решения задачи Коши (например, методы Рунге — Кутты и Адамса), предполагающие необходимость вычисления значений только функции 1 и не использующие ее частные производные.
Именно этим методам, реализованным в виде стандартных программ и пакетов прикладных программ, мы и уделим основное внимание в дальнейшем. Тем не менее для решения некоторых специальных классов задач приведенный выше метод может быть полезен. В частности, он используется при решении некоторых задач небесной механики, в которых вычисление производных у< "~ не требует существенных дополнительных затрат в силу специальной структуры правых частей.
Т а б л и ц а 14.1 Как видно из таблицы, решение оказалось найдено с точностью е м 3 10 т. З 14.4. Метод Эйлера 1. Геометрическая интерпретация метода Эйлера. Простейшим и исторически первым численным методом решения задачи Коши является метод Эйлера. Его можно получить, если в приближенном равенстве (14.44) оставить только два первых слагаемых (т.е. взять р = 1). Тогда формула (14.44) примет вид (14.46) Геометрическая интерпретация одного шага метода Эйлера заключается в аппроксимации решения на отрезке [1„, 1„,~] касательной у = = уп + у (1п)(1 — 1в), проведенной в точке (1„, у„) к интегральной кривой, проходящей через эту точку (рис.
14.7). Таким образом, после выполнения У шагов неизвестная интегральная кривая заменяется ломаной линией (лоланой Эйлера), для которой угловой коэффициент 1„очередного и-го звена равен значению ~(1„, ув) (рис. 14.8). Рис. 1ф. 7 430 Уе п-1 х ~е (о+ ХР~). 1=о (14.47) и Справедливость неравенства (14.47) установим методом индукции. При и = 0 оно превращается в очевидное: хо ~ хо., Пусть теперь неравенство (14.47) выполнено при некотором п = т. Тогда, используя оценки 1 + а ~ еа и 1 ~ е'""а, получим следующую цепочку неравенств: ет~~ (~ (1 + а)хт + фт ~~ еахт + е т~~ )Зт ( т-1 т ( (саста (хо + ~ ЕД) + е(т+1) аل— е(т+1) а(хо + Я Д) а=о 1=0 т.е.
неравенство (14.47) верно и при и = т + 1. Итак, оно верно при всех и. ° Пусть теперь у*" — решение возмущенной дискретной задачи Коши 431 Как уже было отмечено в ~ 14.2, метод Эйлера представляет явный одношаговый метод. Для него погрешность аппроксимапии имеет вид Ь Фи = 2 У (1и). 2. Устойчивость. Докажем, что метод Эйлера устойчив на конечном отрезке (см. определение устойчивости в ~ 14.2). Предварительно установим справедливость следующего воспомогательного утверждения. Л е м и а 14.1.. Пусть г" — неотрицательная сеточная функция, удовлетворяющая для всех и ~ Р неравенству ли+~ ~~ (1 + а)ги + ~и, ~де а ~ 0, ~1и ~ 0.
То~да при всех и ~ 0 справедлива оценка у„*„= у„*+ Ь (йг., у„*) + Ф ), у*Ь(~,) = у,'. (14А8) (14.49) Т е о р е и а 14.5. Пустпь функция ~ удовлетворяет условию !~'! ~ч А. Тогда справедливо неравенство У о' гу- 1 гпах ! у„* — у„! < е ( ! у — у ! + Ь Х ! грг,! ), О< п чгг' (14.50) означаюигее, что метод Эйлера устойчив на конечном отрезке.. и Вычитая из уравнения (14А8) уравнение (14.46) и пользуясь формулой конечных приращений Лагранжа У(~„, у„*) — 1(~„, у„) = Гу(1„, у„)(у„*— у„), получаем равенство у„*„— у„„= (1 + ЬУУ(~„, у„))(у„* — у„) + ЬФ„, откуда следует !у„*„- у г! <(1+ Ю!у„*- уп! + Ь!Фп! (14.51) Заметим теперь, что для зп = !у„* — у„!, гг = ЬЬ и,0„= Ь!ф„! в игах !у (1п) — уп! < С(Т)Ь, 0< п<Х ЦТ-ге) где С (Т) = е (Т вЂ” 4о)М2/2, Мг — — гпах ! у "(~) !.
[го 21 (14.52) 432 силу (14.51) справедливо неравенство зп г ч (1 + гг)зп +,дп. Согласно п-г лемме 14,1, имеем !У„* — У„! < еп"г(!У* — У ! + Е !гоп!Ь). Учитыван, что пЬ < УЬ = Т вЂ” 1о, приходим к неравенству (14.50). ° 3. Оценка погрешпност. Так как метод Эйлера устойчив на конечном отрезке и имеет первый порядок аппроксимации (см.
пример 14.9), то из теоремы 14.4 следует, что он сходится с первым порядком точности. Точнее, верна следующая теорема. Т е о р е и а 14.6. Пусть функция ~ удовлетворяет условию !~' ! < Х. Тогда для метода Эйлера справедлива такая оиенка У глобальной погреигности: у (1 1) = у (1 ) + Ь (У (1, у (1 )) + Фп) Полагая у„* = у (1„), замечаем, что сеточная функция у*" является решением дискретной задачи Коши (14.48), (14.49), где у* = у . Тогда в силу теоремы 14.5 справедлива оценка 7(Т то) у, гпах ~у (1„) — уп~ 1 е Е )фп~Ь.
О~пО У-1 Учитывая, что Е ~ф„~Ь ~ гпах ~4„)(Т вЂ” 1о), и используя оценку 0~ п(йг (14.34) для погрешности аппроксимации, получим неравенство (14.52). ° П р и и е р 14.13. Найдем численное решение задачи Коши у' = 2ту, у(0) = 1, на отрезке [О, 1], используя метод Эйлера. Заметим, что та же задача другим методом была решена в примере 14.12. В данном случае расчетная формула (14.46) принимает вид Уп+1 = Уп+ Ь21иУп = (1+ 2Ь~п)уп. (14.53) Полученные с помощью этой формулы для значений шагов Ь = 0.1, Ь = 0.01 и Ь = 0.001 приближенные решения приведены в табл. 14.2. Для сравнения в последнем столбце даны значения точного решения у (1) = е~~. Нижняя строка таблицы содержит значения абсолютной погрешности Е (Ь).
Как и следовало ожидать, при уменьшении шага в 10 раз погрешность уменьшается также примерно в 10 раз. Т а б л и ц а 14 2 Метод Эйлера; Метод Эйлера; Метод Эйлера; Точное Ь = 0.1 Ь = 0.01 Ь = 0.001 решение 0.1 1.00000 1.00903 1.00995 1.01005 0.2 1.02000 1.03868 1.04060 1.04081 0.3 1,06080 1.09071 1.09383 1.09417 О. 4 1.
12445 1.16835 1. 17299 1. 17351 0.5 1.21440 1.27659 1.28328 1.28403 433 Приведем доказательство теоремы, не использующее теорему 14.4. и Пусть 1~„— погрешность аппроксимации. Перепишем ее определение (14.33) в виде Продолжение табл. Ц.Я Метод Эйлера; Метод Эйлера; Метод Эйлера; Точное Ь = 0.1 Ь = 0.01 Ь = 0.001 решение О. б 1.33584 1.42277 1.43226 1,43333 0.7 1.49615 1.61733 1.63080 1.63232 0.8 1.70561 1.87513 1.89432 1.89648 0.9 1.97850 2. 21724 2.24480 2. 24791 1.0 2.33463 2.67379 2. 71376 2.71828 Е(Ь) 3.9 ° 10 ' 4.5 10 2 4.6 10 з 4. Влияние вычислительной погрешности. Оценивая метод Эйлера необходимо учитывать, что при его реализации на ЭВМ неизбежно возникнут ошибки округления.
В результате фактически вычисляемые значения у„* будут удовлетворять соотношению Р,1 = д„+ Ь/(1н, у„) + Ьп. Величины б„учитывают вклад погрешностей округления. Это соотно- шение можно рассматривать как возмущенное уравнение вида (14.48), в котором ф„= Ь„/Ь. Тогда неравенство (14.50) дает следующую оцен- ку влияния погрешностей округления: тпах ~ у~ — у„! ~ ~е Е ~дн~ в е Уб, 0(.«У " (14.54) Здесь б — некоторое среднее значение величины б„, а Л = (Т вЂ” 1о)/Ь.
Таким образом, с учетом неравенств (14.52) и (14.54) получается следующая оценка погрешности фактически вычисляемых значений тпах 1у(1) — 9„*~ < Ет(Ь) =е (Т 1о) ~ — ' Ь+-Ь!. .5(7'-1о) М2 О~аО Схематически график функции Ет (Ь) приведен на рис. 14.9. Оказывается, что полная погрешность убывает только лишь при уменьшении шага Ь до некоторого значения Ьо„т. Достижимая точность метода ограничена снизу величиной ЕП,1„и попытка увеличить точность за счет уменьшения шага Ь при Ь < Ьо„, приводит лишь к резкому росту погрешности.