Самарский А.А., Гулин А.В. Численные методы (1989) (1095856), страница 26
Текст из файла (страница 26)
Заметим, что построить такие сетки чрезвычайно сложно и, кроме того, для каждой функции требуется своя сетка. В практике вычислений избегают пользоваться интерполяционными многочленами высокой степени. Вместо этого применяется кусочнополиномиальная интерполяция, пример которой будет рассмотрен в $4. 5 3. Интерполирование с кратными узлами 1. Интерполяционный многочлен Эрмита. В предыдущих параграфах предполагалось, что в узлах интерполяции заданы только значения функции 1'(х). Более общая постановка задачи интерпо.
пирования состоит в следующем. В узлах х«~[а, Ь], Ь=О, 1, ..., п1, среди которых нет совпадающих узлов, заданы значения функции 1(х,) и ее производных 1и1 (х„) до порядка ̄— 1 включительно, 1=1, 2, ..., ̄— 1. Таким образом, в каждой точке х,, Ь=О, 1,..., т, известны [(х«), [ (х«), ..., [~-«- ~(;) и, следовательно, всего известно М,+И,+...+М„величин.
Требуется построить алгебраический многочлен Н„(х) степени и= =М,+М,+...+М вЂ” 1, для которого Ню(х,)=1"'(х«), А=О, 1, ..., п1, 1=0, 1, ..., И,— 1. (1) Многочлен Н„(х), удовлетворяющий условиям (1), называется интерполяционньсм многочленом Эрмита для функции )(х). Число М„называется кратностью узла х„. Докажем, что интерполяционный многочлен Эрмита существует и единствен. Условия интерполяции (1) представляют'собой систему линейных алгебраических уравнений относительно коэффициентов а,„а„..., а„многочлена Н (х) =а,+а,х+...+а„х".
Число уравнений этой системы равно числу неизвестных и равно М,+М,+...+М . Поэтому достаточно показать, что однородная система Н16(хь)=О, Ь=О,!, ..., п1, 1=0, 1, ..., Иь — 1, (2) имеет только тривиальное решение а,=а,=...=а„=О. Группа условий (2) при фиксированном й и 1=0, 1, ..., ̄— 1 означает, что число х, является корнем кратности М„многочлена Н„(х). Таким образом, многочлен Н„(х) имеет всего с учетом кратности не менее М,+И,+...+И„=п+1 корня на [а, Ь].
Поскольку степень Н„(х) равна и, этот многочлен тождественно равен нулю, следовательно, равны нулю его коэффициенты и однородная система уравнений (2) имеет единственное решение а,=-а,=...=а„=О. Неоднородная система (1) однозначно разрешима при любых правых частях. Поскольку значения [ш(х„), я=О, 1, ..., т, 1=0, 1, ..., ̄— 1, входят только в правую часть системы (1), коэффициенты а; мно- гочлена Н„(х) выражаются линейно через значения [ш(х,), и этот многочлен можно представить в виде линейной комбинации о ««-« Н„(х) = ~чР 'Я с«; (х) ~' (х«), «=о ~=о где с„(х) — многочлены степени и.
Ввиду громоздкости выражений для с„(х) мы их не приводим. Получим представление для погрешности интерполировании г„(х) =[(х) — Н„(х). Для этого рассмотрим, как и в $2, вспомогательную функцию й(а) =[(з) — Н„(з) — Коз(з), (3) где К вЂ” постоянная и «о(з) =(з — х,) '(з — х,) ' ...
(з — х ) (4) Постоянную К выберем так, чтобы в точке интерполирования х выполнялось условие д(х) =О, т. е. положим 1 (х) — н„(х) К= о«(х) Узлы х, являются корнями кратности М„функции д(з), й= =1, 2, ..., т. Кроме того, точка х~[а, Ь) является корнем д(з). Таким образом, функция д(з) имеет с учетом кратности М,+М,+... ...+М„+1=и+2 корня на отрезке [а, Ь]. По теореме Ролля производная д'(з) имеет по крайней мере один нуль между двумя соседними корнями функции а(з). Следовательно, д'(з) имеет не менее т+1 корня на [а, Ь) в точках, не совпадающих ни с одной из точек х,, х„..., х, х.
Кроме того, д'(з) имеет в точке х„корень кратности ̄— 1, й=О, 1, ..., т. Таким образом, я'(з) имеет с учетом кратности не менее (М,— 1) +...+ (М вЂ” 1) + (т+1) =М,+М,+...+М„=и+1 корней на [а, Ь1. Аналогично д" (з) имеет не менее и корней и т. д. Производная д'"+о(з) по крайней мере один раз обращается в нуль на [а, Ь), т. е. существует точка $я[а, Ь), в которой й'"+о($) =О. Из (3) имеем к'" о( ) =7'""'(з) — Ко«'"оо(з). Так как о«(з) — многочлен степени и+1 со старшим коэффициентом 1, имеем о«'"+о(з)=(и+1)! Поэтому из условия д'"+о($)=О получаем, учитывая выражение для К, следующее представление для погрешности интерполирования: !1ом1 (1) и, и, ~'~ ( (х) — Н„ (х) = (х — х,) ' (х — х,) ' ...
(х — х ) . (3) (и + 1)! 1зт Будем искать его в виде Н,(х) =со(х) з'о+ с,(х) ~, + с,(х) 1'з+ Ь,(х) ~, где с,(х), с,(х), с,(х), Ь,(х) — многочлены третьей степени. ясно, что Й,(х) будет искомым интерполяционным многочленом, если, потребовать с (х)=1, с,(х)=0, сз(х,)=0, Ь,(х,)=0, со(хз)=0, с,(х,)=1, с,(х,)=0, Ь,(х,)=0, с,(х,)=0, с,(х,)=0, с,(х,)=1, Ь,(х,)=0, с,(х,)=0, с,(х,) =О, с,(х,)=0, Ь,(х,)=1. Найдем многочлены третьей степени, удовлетворяющие перечисленным требованиям. Поскольку многочлен с,(х) имеет кратный корень в точке х, и простой корень в точке х„его можно искать в виде с,(х) =К(х — х,)'(х — х,).
Из условия с,(х,) =1 находим К= 1 (хо — х,)з (хо — хз) Таким образом, (х — хйо (х — хз) Со 1Х) (хо — х,)з (хо — хз) (7) Аналогично получаем (х — хо) (х — х,)з с,(х) = (хз — хо) (хз — х,)' (х — хо) (х — хй (х — хз) Ь, (х) = (х, — хо) (хз — х,) (8) (9) Далее, многочлен с,(х) будем искать в виде с, (х) = (х — х,) (х — х,) (ах+ р), где а и р — постоянные, подлежащие определению.
Из условия с,(х,) =1 находим 1 «х,+р= (х, — хо) (х, — хз) (! 0) Условие с,'(х,) =0 приводит к уравнению (х,— х,) (х,— х,) а+ (ах, + р) (2х,— х,— х,) =О. (11) 1за 2. Пример. Пусть хо<х1<х, — точки, в которых заданы значения ~(хо) =1о 1(х~) =1~ 1'(х~) =)з, 1о(х ) =)о.
Требуется построить многочлен третьей степени Н,(х) такой, что Нз(Хо) =1о Нз (хз) =1м Нз(хз) =1'о Нз(хз) =1з. (8) Из уравнений (10) и (11) находим 2х, — хо — хо а=— (х, — хд) ' (х, — хз)' (1+ (х, — хд) (хз — хо) (2х,— хо — хз) хз ') (хз — хд) (хз — хз) / (16) Таким образом, гз(х) = !11— (х — хо) (х — хз) / (х — х,) (2хд — х,— хо) ! ) . (12) (хз — хд) (х,— ха) (х, — хо) (хз — хз) Искомый интерполяционный многочлен Нз(х) имеет внд Н.()= '" "'*,' "'-' /(.)+ (хд — хз)з(хд — ха) + ( (х — хй (2хз — хд — хз) ) (х — хо) (х — хз) / (х,) + (хз — хд) (хз †) (хз — хд) (х, †) + (х — хд) (х — хй (х — хо) (х — хз) (х — хо) , /(хз)+ / (х,). (13) (хз — хо) (хз — хз)з 1(хз — хо) (хз — х ) Согласно (5) погрешность интерполирования в случае много- члена (13) можно записать в ниде / (х) — Н, (х) = — (х — х,) (х — х,) (х — хз), /'~ ($) где $~(х„х,).
Интерполяпионный многочлен Эрмнта можно построить путем предельного перехода в многочлеиах Лагранжа н Ньютона. Поясним зто на том же при- мере. Наряду с узлами хд, хь х, введем узел хз (отличный от хо, хь х,) и по- строим по узлам хо, хь хз, хз интерполяпионный многочлен Лагранжа (х — хо) (х — х,) (х — х,) Ц(х) = /(хз) + , (хз — х,) (хз — хй (хз — хз) (х — хд) (х — хз) (х — хз) (х — хй (х — х,) (х — х,) + /(х,) + / (хо) + (х — хд) (х — хз) (х †) (хо хз) (хо — хз)(хо †) + (х — хд) (х — хз) (х — хз) / (ха). (15) (хз — хо) (хз — хз) (хз — хз) Получим миогочлен (15) путем предельного перехода в (15).
Зафиксируем точки х, хд, хь хз и устремим хз к хь Тогда последние два слагаемые перейдут в пределе в выражение (х — х,)з (х — хз) (х — хо) (х — х,)з /(хо) +, , /(хз). (хд — хз)з (хд — хз) ,'(хз — х,) (хз — хз)з Первые два слагаемые в (15) объединим следующим образом: (х — хд) (х — хз) ( (х — х,) / (хз) (х — хз) / (х,) хз — хз ( (хз — хд) (хз — хз) (хз — ха) (хз — хо) ) Поскольку при указанном предельном переходе величины хз — хз н (х — хй / (хз) (х — хз) / (х,) (17) (хз — хд) (хз — хз) (х, — хо) (х, — хз) стремятся к нулю, можно раскрыть неопределенность вида О/О, воспользовав- 139 шись правилом Лопиталя.
Дифференцируя выражение (17) по хз, получим функцию т" (хг) (х — хг) (2х3 — хз — хз) а (хз) = — У(х)+ (х, — хз) (х,— хз) (хз — хз)3 (хз — хз)3 + (Х Хт) (Хз Хз) (Х3 Хз) т' (хз), (Хз — Хз)' (Х3 — Хз) так что 1 (' (х — х,) (2х, — хз — хз) 1пп а(хз) = Ь- т (хй + хг х, (х,— хз) (х,— хз) (хг — хз) (хз — хз) + (х — х,) т" (х,) (хз — хз) (хз — хз) Итак, первые два слагаемые в (1о) переходят в пределе в выражение (х — хз) (2хз — х — хз) 1 (х — хз) (х — хз) 1 /(х,] + (х,— хз) (х,— хз) ~ (х,— хз)(х,— х,) (х — хз) (х — хз) (х — х,) + т' (х,). (Х, — Хз) (Хт — Х,) Отсюда и из (16) получаем многочлен (10).
й 4. Интерполирование сплайнами Интерполирование многочленом Лагранжа или Ньютона на всем отрезке [а, Ь] с использованием большого числа узлов интерполяции часто приводит к плохому приближению, что объясняется сильным накоплением погрешностей в процессе вычислений. Кроме того, из-за расходимости процесса интерполяции увеличение числа узлов не обязано приводить к повышению точности. Для того чтобы избежать больших погрешностей, весь отрезок (а, Ь) разбивают на частичные отрезки и на каждом из частичных отрезков приближенно заменяют функцию 1(х) многочленом невысокой степени (так называемая кусочно-полиномиальная интерполяция).