Интерполяционный полином.
Теорема существования и единственности.
ТЕОРЕМА 3.1 Для табличной функции 3.1 существует единственная интерполянта - полином степени не выше N.
ДОКАЗАТЕЛЬСТВО: Будем искать интерполянту F(x) в виде полинома:
PN(x) = c0 + c1 x1 + ... + cN-1 xN-1 + cN xN,
где ci искомые коэффициенты. Используя таблицу (3.1) получим систему линейных уравнений:
c0 + c1 x0 + ... + cN x0N = PN (x0 ) = f0 ... c0 + c1 xN + ... + cN xNN = PN (xN ) = fN |
(3.3) |
---|
Известно, что система Ac=f однозначно разрешима тогда и только тогда, когда det(A)≠0 Определителем матрицы A является известный из курса алгебры определитель Ван-дер-Монда не равный нулю в силу условия xi≠xj при i≠j. Таким образом, коэффициенты c0 , ..., cN (то есть решение c системы (3.3)) находятся однозначно. Следовательно, интерполяционный полином существует и единствен.
Данная теорема дает один из возможных способов построения интерполяционного полинома. Но для этого требуется решить другую сложную задачу - систему линейных уравнений. Существуют более простые способы построения интерполяционного полинома, которые будут рассмотрены далее.
Интерполяционный полином в форме Лагранжа.
Введем базисные полиномы Лагранжа по формулам:УТВЕРЖДЕНИЕ 3.1 Имеют место следующие равенства
ДОКАЗАТЕЛЬСТВО следует сразу из определения базисных полиномов Лагранжа:
так как сомножитель (xk - xj )/(xi-xj ) равен нулю при j=k≠i (он присутствует в силу того, что i≠k)
Интерполяционный полином в форме Лагранжа имеет вид:
PN(x) = ∑Nj=0 fjφj(x) = f0φ0(x) + f1φ1(x) + ... + fNφN(x) | (3.4) |
---|
УТВЕРЖДЕНИЕ 3.2 PN(xi ) = fi , i=0, ..., N, то есть полином PN(x) является интерполяционным.
ДОКАЗАТЕЛЬСТВО следует из утверждения (3.1), так как
PN(xi ) = ∑Nj=0 fjφj(xi ) = fi·1 = fi
Интерполяционный полином в форме Лагранжа обычно применяется в теоретических исследованиях (при доказательстве теорем, аналитическом решении задач и т. п.)
Интерполяционный полином в форме Ньютона.
Интерполяционный полином в форме Ньютона записывается в виде:
PN(x) = c0 + c1 (x - x0 ) + c2 (x - x0 )(x - x1 ) + ... +
+ cN (x - x0 )(x - x1 )· ... ·(x - xN-1 )
где коэффициенты ci находятся из условий (3.1):
f0=PN(x0 )=c0. Cледовательно, c0=f0;
...
fi=PN(xi )=c0 + c1(xi - x0 ) + ... + ci-1(xi - x0 )(xi - x1 )...(xi - xi-2 ) +
+ci(xi - x0 )(xi - x1 )...(xi - xi-1 ).
Следовательно,
ЗАМЕЧАНИЕ 3.2 На практике чаще ci находят через разделенные разности [стр.29-31].
ЗАМЕЧАНИЕ 3.3 В силу теоремы единственности интерполяционного полинома полиномы Ньютона и Лагранжа совпадают: PNЛ(x) ≡PNН(x).
ЗАМЕЧАНИЕ 3.4 Полином Ньютона обычно применяется в практических вычислениях на ЭВМ.
ЗАМЕЧАНИЕ 3.5 После того как вычислены коэффициенты ci значение полинома Ньютона на ЭВМ следует подсчитывать по следующей формуле (схеме Горнера), удобной для программирования:
PN(x) = c0 + (x - x0 )[c1 + (x - x1 )[c2 + ... +(x - xN-1 )[cN-2 + (x - xN-1 )cN]...] | (3.6) |
---|
ЗАМЕЧАНИЕ 3.6 Из формул интерполяционных полиномов Лагранжа и Ньютона видно, что добавление новой точки (xN+1 , fN+1 ) к табличной функции потребует полного пересчета формул полинома Лагранжа и добавления лишь одного нового слагаемого, содержащего значение cN+1 в формуле полинома Ньютона.
Погрешность при интерполяции полиномами.
ТЕОРЕМА 3.2 Пусть PN+1(x) интерполяционный полином для таблицы 3.1 и f(x)CN+1 [a,b], тогда
|R(x)| ≡ |f(x) - PN(x)| ≤ MN+1 |wN+1(x)| / (N+1)!,
где
ДОКАЗАТЕЛЬСТВО: Определим вспомогательную функцию
u(x)=f(x) - PN(x) - K wN+1(x),
где K - некоторая константа. Очевидно, что u(x) имеет N+1 корень x0 , x1 , ..., xN :
u(xi )=f(xi ) - PN(xi ) - K wN+1(xi )=0, i=0, ..., N.
Подберем константу K так, чтобы функция u(x) имела (N+2)-ой корень в произвольной точке x*[a,b] причем x*≠xi , i=1, ..., N. Имеем
0=u(x*)=f(x*) - PN(x*) - KwN+1(x*)
откуда следует, что
K = (f(x*) - PN(x*)) / wN+1(x*)
Итак, при такой константе K функция u(x) имеет N+2 корня на отрезке [a,b] и, следовательно, обращается в ноль на концах каждого из (N+1)-го элементарного отрезка:
[x0 , x1], [x1 , x2], ..., [xi , x*], [x* , xi+1], ..., [xN-1 , xN].
По теореме Ролля u'(x) имеет не менее (N+1)-го корня внутри [a,b] (по количеству отрезков).
Аналогично u''(x) имеет не менее N корней внутри [a,b]. Рассуждая таким образом, в результате получим, что u(N+1)(x) имеет не менее одного корня внутри отрезка [a,b]. Пусть ξ (a,b) - этот корень: uN+1(ξ)=0. Найдем (N+1)-ую производную функции u(x): u(N+1)(x)=f(N+1)(x)-K(N+1)! (так как PN(x) - полином степени N, а wN+1(x) - степени N+1).
Тогда
0 = uN+1(ξ) = f N+1(ξ) - K(N+1)!
Следовательно,
K = f N+1(ξ ) / (N+1)!
Сравнивая это выражение с предыдущим представлением для K, находим
(f(x*) - PN(x*)) / wN+1(x*) = f N+1(ξ) / (N+1)!
Отсюда следует
f(x*) - PN(x*) = wN+1(x*) f N+1(ξ) / (N+1)!
Вспоминая, что точка x* выбиралась произвольной на [a,b]\{x0 , x1 , ..., xN}, опускаем звездочку при x и получаем требуемую оценку:
Если же x=xi для некоторого i, то оценка также верна: