1626435584-7c6402f545ecf856225d6cf8d21519c9 (844233), страница 16
Текст из файла (страница 16)
у (х„х,... хл) = '~~~~~ у И (х — х;)-'. я=в г=в ~Хя При написании последней формулы использованы резудьтаты задачи 1 к главе П. Все формулы (1) — (2) рассчитаны на произвольную неравномерную сетку. Исследование точности полученных выражений при численных расчетах удобно делать при помощи апостериорной оценки, по скорости убывания членов ряда (1). Если шаг сетки достаточно мал, то погрешность близка к первому отброшенному члену. Пусть мы используем узлы хь Ок=1=-.п. Тогда первый отброшенный член содержит разделенную разность у(х„х„..., х„,), которая согласно (2) примерно равна у<"-ы(х),'(и+1)1.
Перед ,ней стоит сумма произведений различных множителей $;; каждое произведение содержит и+1 — к множителей, а вся сумма состоит из 0~4. ~ слагаемых. Отсюда следует оценка погрешности ()юрмулы (1) с и+1 узлами: )11м: — ""' шах~3 ~"" 1, М = гпах~уы"'~. (3) (о4 1 1)! ~-~ ' ~ 1 В частности, если сетка равномерная, то гпах~~,'~(п)1, откуда В М„„~( ев ЬУ4' "= 0()т '- ), (4) Зти оценки можно несколько улучшить за счет более детального рассмотрения множителей со Заметим, что строгое априорное исследование погрешности формулы (1), аналогичное выводу остаточного члена многочлена Ньютона в форме Коши (2.10), для произвольного расположения узлов приводит к той же оценке (3).
Таким образом, порядок пючности формулы (1) по отношению к шагу сапки равен числу оспювленнь1х в ней членов, или, что то же самое, он равен числу узлов интерполяции минус порядок производной. Поэтому минимальное число узлов, необходимое для вычисления к-й производной, равно й+ 1; оно приводит к формулам (2) -и обеспечивает первый порядок точности. Эти выводы соответствуют общему принципу; при почленном дифференцировании ряда скорость его сходимости уменьшается, 72 ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ [Гл. и! В главе 11 рекомендовалось использовать в формулах интерполяции не более 4 — 6 узлов, Если еп!е учесть ухудшение сходимости ряда при дифференцировании, то можно сделать вывод: даже если функция задана хорошо составленной таблицей на довольно подробной сетке, то практически численным дифференцированием можно хорошо определить первую и вторую производные, а третью и четвертую — лишь удовлетворительно.
Более высокие производные редко удается вычислить с приемлемой точностью. Замечание 1. Кубическая сплайновая интерполяция (2.20) обладает тем свойством, что первая и вторая производные интерполяционного многочлена всюду непрерывны. Обычно дифференцирование кубического сплайна позволяет определить эти производные с хорошей точностью, Если надо вычислить более высокие производные, то целесообразно строить сплайны высоких порядков.
Из-за большой трудоемкости этот способ редко используется; теоретически он мало исследован. Замечание 2. Если табулирована не только функция, но и ее производные, то следует составлять и дифференцировать ннтерполяционный многочлен Эрмита. Производные при этом вычисляются намного точнее, чем при дифференцировании интерполяционного многочлена Ньютона с тем же числом свободных параметров по формулам (1). 2. Простейшие формулы. ЧапЯе всего используются равномерные сетки, на которых вид формул (1) заметно упрощается, а точность нередко повышается.
Рассмотрим сначала причину повышения точности. Остаточный член общей формулы (1) есть многочлен ~ Ц (х — х,) степени и+1 — й относительно х. Если х равен корню этого миогочлена, то главный остаточный член обращается в нуль,- т. е. в этой точке формула имеет, порядок точности на единицу больше, чем согласно оценке (4). Эти точки павыикнной аочности будем обозначать хАФ!, где я — порядок производной, а р = л + 1 — я— число оставленных в формуле (1) членов. Очевидно, р-членная формула имеет р точек повышенной точности. У одночленной формулы (2) для Й-й производной точка повышенной точности на произвольной сетке определяется условием Я$!=~,'(х — х;) =О, что дает хА~ ' = (х, + х, + ...
+ х,) /(Й+ 1); (5) в этой точке одночленная формула имеет погрешность 0 (/Я!) вместо обычной 0(й). Для двучленной формулы задача нахождения точек повышенной точности приводит к квадратному уравнеЯяню, корни которого действительны, но формула для их нахождения громоздка (см. задачу 2). Если р:~ 2, то найти точки гл. пп числсннов диеевгвнциговкнив 73 повышенной точности очень сложно, за исключением одиого част- ного случая, который мы сейчас рассмотрим.
Лусгггь р нечетно, а узлы в формуле (1) выбраны так, что они расгголоясены симметрично относипгельно точки х; оюеда х явля- ется одной из точек повышенной точности хь". ггг Док азател ьство. В самом деле, при этом величины $г = = х — х, иыегот попарно равные абсолютные величины, но про- тивоположные знаки. В остаточном члене множитель пг = ~Х ', Ц$г имеет нечетную степень, и при одновременном изменении знаков всех 3г он должен изменить знак.
Но поскольку одновременное изменение знаков $г сводится при таком расположении узлов лишь к' перемене их нумерации, то величина пг должна сохра- ниться, что возможно только при го =О. Утверждение доказано. Замечание 1. Доказательство' справедливо для неравно- мерной сетки. 3амечацне 2. Число узлов предполагалось произвольным; очевидно, симметричное расположение узлов относительно точки х~~' означает, что при нечетном числе узлов точка хлы' совпадает с центральным узлом, а при четном — лежит между средними узлами. Замечание 3. Повышение точности достигается не только в самих точках повышенной точности, но и в достаточно малой их окрестности, где изменение производной не превышает пог- решности формулы; для точки хл' это окрестность размером 0(й'), ог для х),вг — 0(й') и т.
д. На произвольной сетке условие симметрии реализуется только в исключительных случаях. Но если сетка равномерна, то каж- дый ее узел симметрично окружен соседними узлами. Это позво- ляет составить несложные формулы хорошей точности для вычис- ления производных в узлах сетки. Например, возьмем три соседних узла х„х„х, и вычислим первую и вторую производные в среднем узле. Выражая в одно- членных формулах (2) разделенные разности через узловые зна- чения функции, легко получим у' (х,) =(у, — уч)/2Й+0 (й'), й =х;„г — х; =сонэ(, (6) у" (хг) = (уг — 2уг+ уо) ..Лгч+ 0 (Й') (7) Формулу (6) часто записывают в несколько ином виде, удобном для определения производной в средней точке интервала сетки: уг+ пг = у (хг-г ьз) = (уг+г уг)~''гг+ О (Й'), (8) хг+ 02 = хг + /г)г.
Аналогично можно вывести формулы более высокого порядка точности или для более высоких производных. Например, трех- 74 ~ГЛ. И1 ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ членная формула (1) для первой производной в середине интервала по четырем соседним узлам дает у111= ( — уз+ 27уз 27У1+ уа),/ (24й) + О (й') (9) а для второй производной в центральном узле по пяти узлам уз = ( — у, + \ бу, — ЗОУА+ 1бу1 — у„), '(12й') + О (й'). (10) Все формулы (6) — (1О) имеют четный порядок точности. Заметим, что все эти формулы написаны для случая равномерной сетки; применение их на произвольной неравномерной сетке для первой производной приводит к низкой точности О(й), а для второй производной — к грубой ошибке.
На равномерной сетке для априорной оценки точности формул часто применяют способ разложения по формуле Тейлора— Маклорена. Предположим, например, что функция у (х) имеет непрерывную четвертую производную, и выразим значения функции в узлах х1, 1 через значения функции и ее производных в центре симметрии узлов (в данном случае этим центром является узел х;): у (х1, 1) = у (х; +: й) = У1 + йу1+ — й'у1 .+.
— йзу1 + 1" 1 З + 24 Р где Ч, есть некотоРаЯ точка интеРвала (хь х;,,), а Ч есть некоторая точка интервала (х, „х;). Подставляя эти разложения во вторую разность, стоящую в правой части формулы (7) для второй производной, получим -з (у1~-1 — 2у1+у1-1) у1 + 24(у (Ч4+ у [Ч П =у1'+О (й ). (12) Это подтверждает ранее сделанную оценку и уточняет величину остаточного члена, который оказался равным йзу1Р(Ч)/12.
Такой способ получения остаточного члена проще, чем непосредственное вычисление по формуле (1). Особенно часто он применяется при исследовании аппроксимации разностных схем (см. главу 1Х). 3. Метод Рунге — Ромберга. При вычислении одной н той же величины формулы с ббльшим числом узлов дают более высокий порядок точности, но они более громоздки. Для оценки их точности надо привлекать дополнительный узел, что требует еще более сложных вычислений. Рассмотрим более простой способ получения высокого порядка точности.
Из формулы (12) видно, что погрешность простейшей формулы (7) для четырежды дифференцируемой функции имеет вид Я = = й1ф (Ч), где Ч вЂ” некоторая точка вблизи узла хь Если у1Р(х) липшнц-непрерывна, то оценку нетрудно уточнить: Й й'1р(х1) + гл, пп ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ 75 + 0(й'). Пусть в общем случае имеется некоторая приближенная формула ь(х, й) для вычисления величины г(х) по значениям на равномерной сетке с шагом й, а остаточный член этой формулы имеет следующую структуру: г (х) — Ь (х, й) = ~р (х) ЬР + 0 ()га+ ').