Задачи интерполирования функции

Материал из Викиконспекты
Версия от 09:07, 23 ноября 2010; Rybak (обсуждение | вклад) (Трактовки и другие задачи)
Перейти к: навигация, поиск

Задача интерполяции

Определение:
Система узлов — набор из чисел x0<x1<x2<<xn и y0,y1,y2,,yn.


Дана система узлов. Требуется найти полином Pn степени не выше n такой, что Pn(xk)=yk,k=¯0,n.

Будем искать его в форме Лагранжа, хотя имеется ряд равносильных представлений, например, в форме Ньютона.

Докажем от противного, что таких полиномов не более одного. Допустим, что существует еще один такой полином ˜Pn. Рассмотрим полином Mn=Pn˜Pn. Тогда Mn(xk)=ykyk=0,k=¯0,n, то есть этот полином имеет n+1 корень, но degMnn. Получили противоречие.


Будем искать его в форме Лагранжа. Для этого построим фундаментальные полиномы.


Определение:
Фундаментальные полиномы Φj(x) степени не выше n — полиномы, отвечающие заданной

системе узлов x0<x1<x2<<xn такие, что

Φj(xk)={1,k=j0,kj.


Для его построения обозначим за ωn(x)=nj=0(xxj). Это полином степени n+1.

Составим выражение ωn(x)(xxj)ωn(xj), xxj. В этом случае дробь корректно определена. При xxj получаем неопределённость 00. Раскроем её по правилу Лопиталя: ωn(x)ωn(xj)=1 при xxj. Тогда доопределим по непрерывности дробь единицей. Но при xxj — это полином n-й степени. Значит, Φj(x)=ωn(x)(xxj)ωn(xj).

Тогда Φj(xk)={1,k=j0,kj, что и требовалось.

Обозначим Ln(x)=nj=0yjΦj(x).

Ln(xk)=nj=0yjΦj(xk)=ykΦk(xk)=yk.

Требуемый полином Ln(x) найден.

Замечание: из формулы для фундаментальных полиномов Φj(x) легко записать в развёрнутом виде:

Φj(x)=(xx0)(xx1)(xxj1)(xxj+1)(xxn)(xjx0)(xjx0)(xjxj1)(xjxj+1)(xjxn)

Трактовки и другие задачи

Выведенную ранее формулу Тейлора можно трактовать следующим образом: «Дано f(x). Найти полином Tn степени не выше n такой, что f(k)(x0)=T(k)n(x0),k=¯0,n».

Ранее мы обнаружили, что это Tn(x)=nk=0f(k)(x0)k!(xx0)k.

Теперь другая задача: «Дана функция f и система узлов. Требуется найти полином Ln степени не выше n такой, что xj:j=¯0..nLn(xj)=f(xj) »

Положим Ln(x)=nj=0Φj(xj)f(xj). По пункту 1 этот полином решает поставленную задачу. Для полинома Тейлора f(x)=Tn(x)+f(n+1)(cx)(n+1)!(xx0)n+1.

Сейчас будет доказана теорема аналогичная теореме об интерполяционном полиноме Лагранжа, после чего станет ясно, что это задачи одного класса. Во втором случае это изложено на языке производных, а в первом — через значения функции в точках.

Эти два метода метода можно комбинировать, лишь бы информативных значений было n+1. Такие промежуточные задачи называют интерполированием по Эрмиту. Но они никому не нужны.

Теорема Лагранжа

Теорема (Лагранжа):
Пусть f n+1 раз дифференцируема на a;b. На этом промежутке задана система узлов.

Тогда для соответственного интерполяционного полинома Лагранжа выполняется равенство

f(x)=Ln(x)+fn+1(cx)(n+1)!ωn(x), где cx — некоторая точка из a;b, зависящая от x.
Доказательство:

Случай x=xk тривиален. Пусть тогда xxk.

Для доказательства применим теорему Ролля. Определим вспомогательную функцию g(t)=f(t)Ln(t)kωn(t), где k — коэффициент, подлежащий определению, а x дано.

j=¯0,n:g(xj)=f(xj)Ln(xj)kωn(xj)=0

Для определения k потребуем, чтобы g(x) было равно 0.

g(x)=f(x)Ln(x)kωn(x)=0

ωn(x)0, так как xxj.

k=f(x)Ln(x)ωn(x)(1).

Итак, при выбранном k будет g(xj)=0, g(x)=0, то есть g принимает нулевые значения в n+2 точках. Очевидно, из узлов и точки x можно сделать n+1 последовательный отрезок. На конце каждого из них g принимает значение 0. Значит, по теореме Ролля на каждом из них найдётся по корню производной. Из полученных корней можно сделать n отрезков, на каждом из них по теореме Ролля найдётся по корню второй производной… В конце концов останется один отрезок, границами которого будут корни g(n). Тогда по теореме Ролля на этом отрезке найдётся корень g(n+1). Его и обозначим за cx.

Подведём промежуточный итог: найдено cx такое, что g(n+1)(cx)=0.

g(t)=f(t)Ln(t)kωn(t)

Продифференцируем n+1 раз. degLn(x)nL(n+1)n=0. ωn(t)=tn+1+ω(n+1)n=(n+1)!.

Таким образом, g(n+1)(t)=f(n+1)(t)k(n+1)!.

Подставим t=cx.

0=g(n+1)(cx)=f(n+1)(cx)k(n+1)!

k=f(n+1)(cx)(n+1)!(2).

Утверждение теоремы напрямую следует из равенств (1) и (2) .

Следствие

В условиях теоремы выполняется неравенство |f(x)Ln(x)|Mn+1(n+1)!(ba)n+1, где Mn+1=supa;b|f(n+1)|.

Оно следует из того, что для всех x на a;b|xxj|ba.

Замечание

Следует понимать, что на самом деле какую бы систему узлов мы не взяли на a;b как по числу точек в ней, так и по характеру распределения значений, для этого промежутка всегда можно построить интерполяционный многочлен, который будет отличаться от неё сколь угодно много (нипанянтна — прим. наборщика)