Самарский А.А. Гулин А.В. - Численные методы (1078412), страница 32
Текст из файла (страница 32)
е. после проведения расчета, оценивать погрешность. Апостериорную оценку погрешности можно осуществить мего. дом Рунге, который мы поясним сначала на примере формулы трапеций. Пусть отрезок [а, б) разбит на частичные отрезки [х; „х;), ]=], 2, ..., М, х,=а, х;=Ь, имеющие, может быть, разную длину ]и=х,— х,, На каждом частичном отрезке применяется формула трапеций «; 1,= ~ 1(х) ( = ~'~~'-" 1] =1„х. г «иа Согласно (!!) имеем 1; — 1аи —— с;й,', (20) где константа с; зависит от гладкости 1(х) н заранее неизвестна. Измельчим на отрезке [х, „х,] сетку в два раза и повторим расчет с шагом О,бй, т.
е. нычислим сумму а; 1«ль = ф-«+ 2~]-и + [) — ' 4 Тогда согласно (20) будем иметь (2 !) Из соотношений (20), (2!) можно исключить константу с~ и по- лучить оценку погрешности, которая содержит лишь известные ве- личины 1«х, 1«д,~.' 8 1с — 1ьх = — (1м«х — 1юс), 7 1 1 1] — 1«их = — (1] — 1п. ) = — (1а(«х — 1]я). 8 ' 7 Разумеется, метод Рунге можно применять и для оценки по- грешности других квадратурных формул, Пусть какая-то квадра- турная формула имеет на частичном отрезке порядок точности ш, т. е.
1,— 1,,=с,й, . Тогда 1,— 1„,л=с,~ —,'), 168 откуда получим 1; — 1ь,.=2 (1; — 1ьм;), тммь ~ьн ьл л ьт (22) (23) Возможность апостернорно оценивать погрешность позволяет вычислять интеграл (1) с заданной точностью е>0 путем автоматического выбора шага интегрирования й,. Пусть используется составная квадратурная формула ь=ь где 1„,— квадратурная сумма на частичном отрезке, причем на каждом частичном отрезке используется одна и та же квадратурная формула (например, формула трапеций, Симпсона и др,). Проведем на каждом частичном отрезке [х, „х,) все вычисления дважды, один раз — с шагом й, и второй раз — с шагом 0,56, и оценим погрешность по правилу Рунге (23).
Если для заданного е>0 будут выцолпяться неравенства — Ь вЂ” а' то получим ~1 — 1ьэ ) ~ — ~~~~ й'=е, Ь вЂ” а. т, е. будет достигнута заданная точность е. Если же на каком-то из частичных отрезков оценка (24) не будет выполняться, то шаг на этом отрезке надо измельчить еше в два раза и снова оценить погрешность. Измельчение сетки на данном отрезке следует проводить до тех пор, пока не будет достигнута оценка вида (24). Заметим, что для некоторых функций )(х) такое измельчение может продолжаться слишком долго, Поэтому в соответствуюшей программе следует предусмотреть ограничение сверху на число измельченнй, а также возможность увеличения е.
Таким образом, автоматический выбор шага интегрирования приводит к тому, что интегрирование ведется с крупным шагом на участках плавного изменения функции 1(х) и с мелким шагом— на участках быстрого изменения 1(х). Это позволяет при заданной точности е уменьшить количество вычислений значений 1(х) по сравнению с расчетом на сетке с постоянным шагом. Подчеркнем, что для нахождения сумм 1,„э не надо пересчитывать значения 1(х) во всех узлах, достаточно вычислять 1(х) только в новых узлах, 6. Экстраполяция Ричардсона.
Способ повышения точности квадратурной формулы, рассмотренный в конце п. 4, можно обобщить на случай многократного измельчения сетки. 169 1лвл, =1+ а)йлб) + 0(йл',), 1)",) = 1+ а,йл + 0 (йл~), получим 1=1„") + 0(й~~,), (27) где обозначено 1ц) 1)и 1)2) 1!)) л л (28) л„,= лл,+ ! ч По формулам (28) можно вычислить величины 1л)*,), й=О, 1,... ..., т — 1. Согласно (27), они дают более точное, чем 1л",, приближение к интегралу 1. Этот процесс повышения точности можно продолжить, вычисляя величины 1л с помощью рекуррентных соотно- шений ,У) ))!) !)л,) );), лл лл, 1лл л =1лл ~ + д в ! — д") 1=1, 2,..., т, й=1, 2,..., т — 1+1, 1л!",=1л„й=О, 1, ..., т.
(29) )70 Предположим, что для вычисления интеграла (!) отрезок (а, 61 разбит на 1)! равных отрезков длины й= (6 — а)/У и на каждом частичном отрезке применяется одна и та же квадратурная формула. Тогда исходный интеграл 1 заменяется некоторой квадратурной суммой 1„причем возникающая погрешность зависит от шага сетки й. Для некоторых квадратурных формул удается получить разложение погрешности 1„— 1 по степеням й.
Предположим, что для данной квадратурной суммы 1л существует разложение 1л=1+а)й"'+аэй~+ ... +а,„й "'+0(й "' '), (25) где 0<а,<а,«...а <а э, и коэффициенты а, не зависят от й. Подчеркнем, что получение подобных разложений является трудной задачей анализа и здесь не рассматривается. Явный вид коэффициентов а, нам не потребуется, однако величины х) предполагаются известными. Вычислим приближенно значение интеграла 1 по данной квадратурной формуле на последовательности сеток с шагами й,=й, й„й„..., й . Для определенности будем предполагать, что сетка измельчается по геометрической прогрессии, т.
е. й„= д'й„й = О, 1,..., т, где ))ен(0, 1), Вычисляя квадратурную сумму 1, при различных значениях й, получим величины 1)чя й=О, 1,..., т, причем согласно (25) будем иметь 1), =1+а)йл'+алел'+ ... +а,„йлл+0(йл "). (26) Обозначим 1"'=1, 1лал) = 1)чг Исключая коэффициент а, из соот- ношений Л е м м а 1. Пусть для квадратурной суммы )„справедливо разложение (25) и сетка измельчается по правилу й,=д'й, й=О, 1, ... ..., т. Тогда для величин 4)~ „, определенных согласно (29), справедливы разложения 10) ) + Ь!))йа) 1 1!+) йа)+) (( (У)й~~'а 1 (1(й~~~1~1) 1=1, 2, ..., т, й =1, 2, ..., т — у+ 1, (ЗО) а 1,1,",=)+ ~ Ь,")йь'',+ОЯ: ), (31) )Р =(+ у ьа))й7+о(й,"'"") и, следовательно, Т<'„) — )1,", , = ~ ь))п (й7; — йг '1) + о (й;",'"). разность в (29) при 1'=1 и учи- далее, подставляя полученную тывая (31), получим ! — ч ) ~ ьу)(й ) — йй,)+о(йй"), т.
е. а) а) ь)')й") ' ' + о (й~ "). 1 — д а) )=) Отсюда получаем )=)м т. е. равенство (30) выполняется с)=1+1, причем а) а) Ь''о= ч ~ Ь'" а) ) 1 — е Лемма 1 доказана. 171 где коэффициенты Ь!)) не зависят от сетки. Доказательство. Проведем его индукпией по 1. При 1=1 равенство (30) выполняется с Ьп=а< согласно (25). Предположим, что равенство (ЗО) выполняется при 1=1 и докажем, что оно вы. полняется при 1=1+1. Имеем Из леммы следует, что суммы 10»' совпадают с интегралом 1 »и1 с точностью до величин 0(й 1), т. е. порядок точности повышается по сравнению с исходной формулой в ан/а, раз.
Изложенный метод повышения точности называется леетодом экстраполяции Ричардсона. Его можно применять не только к квадратурным формулам, но и к самым различным сеточным функциям, если только для них существуют асимптотические разложения по степеням й. Подробное изложение метода экстраполяции по Ричардсону содержится в книге [23]. Применительно к формуле трапеций данный метод называется методом Рол~берга. Существуют стандартные программы вычисления определенных интегралов методом Ромберга. Пример, приведенный в конце и.
4, является частным случаем метода (29), когда 1,— квадратурная сумма, соответствующая методу трапеций, и=1, 0=0,5. Отметим еще, что для формулы трапеций 1 = 1» = 'Я 0,5 11 + ~;-,) й, 1; = 1 (х;), разложение (25) имеет вид 1» = ') ) (х) ах+ — (1'(Ь) — 1' (а)) — — (1"' (Ь) — 1"' (а)) + 12 720 а + — (тем(Ь) — 1н1(а))+ ... +е й Ц" "(Ь) — )4 "(а))+0(й*"'), 30240 (32) Здесь коэффициенты с„совпадают с коэффициентами разложения функции б(й)=" „+' 2 е" — 1 в ряд Тейлора: 6 (й) =1+ с,й'+ с,й'+...+ с„й" +...
Доказательство формулы (32), называемой формулой Эйлера, можно найти, например, в 12, с. 165). $2. Квадратурные формулы интерполяционного типа !. Вывод формул. Будем рассматривать формулы приближенного вычисления интегралов ь ~ р (х) 1 (х) йх, (1) е где р(х))Π— заданная интегрируемая функция (так называемая весовая функция) и 1'(х) — достаточно гладкая функция.
Рассма- 172 триваемые далее формулы имеют вид ~ р(х) ((х) йх = 'Я сь((хь), (2) йл (х) = ',~„'' ', ( (хь), (х — «ь) ы' (хь) (3) где оз (х) = ] ( (х — х,), оз' (хх) = ] ( (хе — х~), /=ь /Фь получим приближенную формулу (2), где ь ,3 (х — хь) ы' (хь) и (4) Таким образом, формула (2) является квадратурнои формулой интерполяционного типа тогда и только тогда, когда ее коэффициенты вычисляются по правилу (4), Приведем пример ивадратуриой формулы, ие являющейся формулой ии. терполипиоииого типа.