Амосов А.А., Дубинский В.А., Копченова Н.В. Вычислительные методы для инженеров (1994) (1095853), страница 80
Текст из файла (страница 80)
Представим погрешность аппроксимации г1' — с1э (1) у) — С21 (1 + ЙЬ) У + Ьф (1> у))) (где 1 = 1„, у = у (1п), у (г) — решение дифференциального уравнения у' = 1'(г, у)) в виде разложения по степеням Ь. Формула Тейлора (~ + Ц = (~) + у'(~)Ь + — Ьз+ О (У) у "(2) с учетом равенств у' = ~ у" = ~' + ~'~(см.
(14.42)) дает формулу У(') =Х+-'т+ГЛЬ+ О( ) (аргументы 1, у у функции г и ее частных производных опускаем). 442 /(~ + аЬ, у + ЬЩ = /(1, у) + /'пЬ + /'Ь/Я+ 0(Ь~). Таким образом, ф = (1 — с~ — сд)/+ [(1/2 — с~а)~' + (1/2 — сф)/'/] Ь + 0 (Ь~). Если потребовать, чтобы выполнялись условия с~ + сз —— 1, с~а = 1/2, 1. 1 с~,9 = 1/2 (что эквивалентно выбору с~ = 1 — — ' сг —— . —, ~3 = а), то 2а 2а' первые два слагаемых в формуле для ф обратятся в нуль, и поэтому метод будет иметь второй порядок аппроксимации. Итак (с учетом следствия из теоремы 14.7), можно утверждать, что при любом аЕ(0, 1) метод 1 2а 2 1 (14.69) имеет второй порядок точности. Заметим, что при а = 1 формула (14.69) дает метод Эйлера — Коши, а при а = 1/2 — усовершенствованный метод Эйлера (см.
~ 14.5). 4. Метод Рунге — Куггы четвертого порядка точности Наиболее известным из методов Рунге — Кутты является классический 4-этапный метод четвертого порядка точности: и п — 6 и (14.70) Этот метод весьма прост и, как показывает практика, довольно эффективен в обычных расчетах, когда отрезок [1э, 7~ не очень велик и нужна сравнительно невысокая точность. 3 а м е ч а н и е. Применение метода (14.70) к решению задачи о вычислении интеграла (14.36) порождает формулу Симпсона Ь У" + б (/(1„) + 4/(1„~~ ~) + /(1„~~)). Представим значение функции /в точке (1 + аЬ, У + ЬЩ используя формулу Тейлора для функции двух переменных с центром в точке (1, у): Таким образом, классический метод Рунге-Кутты четвертого поряд ка точности (14.70) можно рассматривать как аналог формулы, Симпсона, отвечающий решению задачи Коши.
Г Пример 14.15. Продемонстрируем работу метода Рунге-'-Кутты четвертоге порядка, точности применительно к решению оадачи Коши (14.45). В этом случае расчетные формулы принимают вид (1) Уи+) — Уп + ")си ~п — Ий + 2(сй + 2~й + "п ) 2 " 2 Д:ц ' — — 2((п + — )(Уп + — Ай ), Йи = 2(1п+ 1()(Уп + (йй ). (2) Найденные с шагом Ь = 0.1 пРиближенные значениЯ РешениЯ Уи и их погрешности ь„приведены в табл. 14.4. Таблица144 Уи си Уп еи 5.
Обсуждение методов Рунге — Куъты. Методы Рунге — Кутты имеют несколько достоинств, определивших их популярность среди значительного числа исследователей. Эти методы легко программируются). Они обладают достаточными для широкого круга задач свойствами точности и устойчивости. Эти методы (как и все одношаговые методы) являются самостартующими и позволяют на любом этапе вычислений легко изменять шаг интегрирования.
Увеличивая число ш вспомогательных точек, можно построить методы Рунге — Кутты любого порядка точности р. Однако уже при ) Это очень важно, если отсутствуют или по каким-либо причинам недот, ступны соответствующие стандартные программы. Если же используются развитые пакеты прикладных программ, то сложность программирования метода не интересует пользователя, поскольку он обращает внимание на другие свойства метода.
444 0.1 0.2 0.3 0.4 0.5 1,010050167 1.040810770 1.094174265 1.173510814 1.284025256 ](1-9 410з 2 ° 10 8 6 108 2 101 0.6 0.7 0.8 0.9 1.0 1.433328994 1,632315187 1.896478467 2.247902590 2.718270175 5 10 ( 2.10 е 3 10е 6 ° 10 е 2.10 5 р > 5 эти методы используются довольно редко. Это объясняется как чрезмерной громоздкостью получающихся вычислительных формул, так и тем, что преимущества методов высокого порядка точности р над методами, в которых р = 4 и р = 5, проявляются либо в тех задачах, где нужна очень высокая точность и используются ЭВМ высокой разрядности, либо в тех задачах, где решение очень гладкое.
Кроме того, методы Рунге — Кутты высокого порядка точности р часто оказываются менее эффективными по сравнению с методами Адамса того же порядка точности (см. ~ 14.7). 3 а м е ч а н и е. Кроме описанных выше классических явных методов Рунге — Кутты используются и более сложные в реализации неявные т-этапные методы Рун1е — Куп1тпы: Уп~1 = Уи + ЬЬп, Ьп = ~ сап' ,' 11) . 1=1 Й,~,п = ~(1„+ а;Ь, У„+ Ь Е ЯЯ~ ), 1 = 1, 2, ..., т. ~=1 Эти методы имеют ряд преимуществ перед явными методами, однако это достигается за счет существенного усложнения вычислительного алгоритма, так как на каждом шаге необходимо решать систему т нелинейных уравнений. В настоящее время неявные методы Рунге — Кутты применяются в основном для решения так называемых жестких задач (см.
~ 14.11). 6. Автоматический выбор шага. Отметим, что в современных программах, реализующих методы Рунге — Кутты, обязательно используется некоторый алгоритм автоматического изменения шага интегрирования Ьп+1 — оп+1 ~п. Интуитивно ясно, что на участках плавного изменения решения счет можно вести с достаточно крупным шагом. В то же время на тех участках, где происходят резкие изменения поведения решения, необходимо выбирать мелкий шаг интегрирования. Обычно начальное значение шага Ь1 задает пользователь. Далее шаг интегрирования меняется в соответствии с величиной получаемой в ходе вычислений оценки локальной погрешности. Само по себе изменение шага Ь„для методов Рунге — Кутты (впрочем, как и для всех других одношаговых методов) не представляет сложности.
Действительная проблема состоит в том, как оценить локальную погрешность и выбрать очередной шаг интегрирования. Один из распространенных подходов состоит в использовании правила Рун1е (правила двойноьо пересчета). Пусть значение в точке 1„ 445 . Уп+! = Уп + Ьп+1Ф(гп~ Уп~ Уп+и Ьп+1) (14,71) который имеет порядок точности, равный р. Можно показать, что для Ьп+1 МЕтсдОВ РУНГŠ— КуттЫ ЛОКаЛЬНая ПОГрЕШНОСтъ 1„= у (!и+1) — у допускает представление где т (1, у) — непрерывная функция. Следовательно, при достаточно малых Ь„,! справедливо приближенное равенство у (!и,1) — у м т (1„, уп)Ь„,1. Ьтн 1 р+! (14.72) Уменьшим тепеРь шаг интегРиРованиЯ вдвое, положив Ьп„! /г = Ьп 1/'2, и вычислим приближение к значению решения в точке 1п,! с помощью того же одношагового метода.
Для этого потребуется выпол— нить уже два элементарных шага по формулам Уп+1 /2 = Уп + Ьп+1/2Ф (~п Уп Уп+1/2 Ьп+1/2)~ Уп+1 = Уп+1/2 + Ьп+1 /2Ф (гп~1/г~ Уп~1/г~ Уп+1 Ьп+1/г) Полученное таким образом значение у = уп+! будет, конечно, Ьп+! /г отличаться от значения, найденного по формуле (14.71). Достаточно ясно, что два шага величины Ьп+1/г приведут здесь к локальной пог- решности у (!и+1) — у Н 2т (1и, уп) Ьп,1/2.
Ьп+1 /2 р+1 (14.73) Вычитая из равенства (14.72) равенство (14.73), получим формулу п~1 /2 и+1 „(2р 1)2 (! ) Ьр~1 Сравнение ее с (14.73) приводит к приближенному равенству Ьп+! /г Ьп+1 /2 у у 2Р— 1 446 (14.74) уже найдено и у (1) — решение уравнения у'(1) = /(1, у), удовлетворя- ЮщЕЕ УСЛОВИЮ у (1п) = уп.
ОбОЗНаЧИМ ЧЕРЕЗ у ПрИбЛИжЕНИЕ уп! К Ь,! ЗНаЧЕНИЮ у (!и+1), НайдЕННОЕ С ПОМОЩЬЮ ОдНОШаГОВОГО МЕтОда Использование этой формулы для апостериорной оценки локальной Ь .га погрешности значения у (которое в дальнейшем принимается за приближенное значение решения задачи Коши в точке ~„,г) и называют гграоило.гг Рунге'. Заметим, что этот способ контроля точности приводит к увеличению времени счета примерно на 50%. Существуют более экономичные методы оценки локальной погрешности, основанные на использовании для контроля точности двух различных методов Рунге — Кутты.
В настоящее время одним из самых эффективных методов такого типа является метод Рунге — Кутты — Фельберга. В этом методе для оценки погрешности метода пятого порядка точности используются формулы метода четвертого порядка точности, причем на одном шаге требуется всего лишь шесть вычислений значений правой части2 Ь 11осле того как тем или иным способом оценена локальная ошибка, программа принимает решение о том, оставить ли шаг интегрирования прежним, уменьшить ли его вдвое или увеличить в два раза. Это происходит примерно по той же схеме, что и в адаптивных' программах, предназначенных для вычисления определенных интегралов (см. 13.5).
Известно, что при оптимальном выборе шагов интегрирования абсолютные погрешности, приходящиеся на каждый из шагов, должны быть примерно равны (см. ~9)). Этот результат учитывается при создании стандартных программ с автоматическим выбором шага. 7. Влияние вычислительной погрешности. Влияние погрешностей на результат вычислений с помощью явных методов Рунге — Кутты примерно таково же, как и для метода Эйлера (см. 8 14.4).
Однако гг для них Е (Ь) = С(У)(М~+гЬ~ + — ). Кроме того, высокая точность Т Ь' методов позволяет вести интегрирование со сравнительно большим шагом Ь > Ьо„т и поэтому влияние вычислительной погрешности обычно бывает несущественным. г Отметим, что использование правила Рунге требует определенной осторожности, так как равенство (14.72) имеет место, вообще говоря, лишь при достаточно малом значении шага Ь„ и э Более подробное описание этого метода можно найти в ~86]. К сожалению, в приведенном в этой книге тексте соответствующей ФОРТРАН-программы имеются досадные опечатки. 447 у 14.7.
Линейные миогошаговые методы. Методы Адамса 1. Методы Адамса. В одношаговых методах после того как найдено очередное значение у„в точке 1„, значение у„.! отбрасывают и уже не используют в последующих вычислениях. Естественно все же попытаться извлечь определенную пользу из информации о значениях решения у„!, !, ..., у„!, у„не в одной, а в Й предыдущих точках 1„!„!, ..., Ц, !, 1„, т.е. применить многошаговый метод.
Среди многошагавых методов наибольшее распространение в практике вычислений получили иетподы Адамса! (14.75) Здесь Д, р!, ..., 4 — числовые коэффициенты, Д„,! — ~(!„! !, у„,! ). Уравнение (14.75) позволяет найти новое значение у„!, используя найденные ранее значения у„, у„!, ..., Уп !~!. Поэтому предварительно требуется задание Й начальных значений уо, у!, ..., у!~!. В случае !7о = О метод Адамса является явным, так как значение у„! выражается через найденные ранее значения по явной формуле (14.76) Если же ро 1 О, то для нахождения у„! приходится решать нелинейное уравнение у ! = ЬАП1 и у.!)+ Ь (14.77) !С где д„= у„+ И Е ®„! — известное значение.
Поэтому при ро ~ О у=! метод Адамса (14.75) является неявным. Существуют различные способы вывода формул (14.75). Приведем два из них. Воспользуемся, как и в предыдущем параграфе, равенством (14.78) ! Джон Кауч Адамс (1819 — 1892) — английский астроном и математик. Метод типа (14.75) был разработан им в 1855 г. по просьбе известного английского специалиста по внешней баллистике Башфорта. 448 Заменим приближенно функцию Г (1) = ~(1, у (1)) интерполяционным многочленом (Й вЂ” 1)-й степени Р~с ~(1), принимающим значения Дп, ~пи, ..., ~„~ ~ в тех узлах 1п, 1п ~, ..., 1п ь ~, где значения сеточной функции у" уже найдены, Интегрирование этого многочлена дает приближенное равенство (14.79) В результате от (14.78) приходим к формуле (14.76), соответствующей явному Й-шаговому методу Адалса — Башфорта. 3 а м е ч а н и е.