А.А., Гулин А.В. Численные методы (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(х) многочленом невысокой степени (так называемая кусочно-полиномиальная интерполяция).
















