Постановка задачи интерполяции.
Пусть известные значения функции f образуют таблицу:
x |
x0 |
x1 |
… |
xn |
f(x) |
y0 |
y1 |
… |
yn |
…(*)
Найдем значения функции f для аргумента x, такого что , т.е. не совпадает ни с одним значением из таблицы. Т.е. задача заключается в том, чтобы по исходной таблице построить приближенную функцию F, которая близка к f, то есть F: f(x)=F(x) (1). Требуется, чтобы функции совпадали точно для xi, где i=, т.е. F(x0)=y0,…, F(xn)=yn (2).
Процесс нахождения F, которая ведет себя согласно формулам (2), называется интерполяцией, а точки x0 , x1…xn называются узлами интерполирования. Самый простой способ поиска F будет, если записать функцию F в виде полинома . Этот многочлен содержит n+1 коэффициентов и n+1 условий (2), т.е. условия (2) позволяют однозначно определить коэффициенты уравнения (a0 ,a1…an). (3), i - номер уравнения, k – номер неизвестного. Выпишем определитель системы (полагая, что все xi различны):
¹0, он называется определителем Вандермонда.
Вывод: интерполяционный многочлен (3) для функции f, которая задается таблицей, существует и он единственный.
Утверждение: Интерполяционный полином Pn(x) имеет степень, не большую, чем n.
Интерполяционный многочлен Лагранжа.
Пусть функция f задана значениями y0 , y1,…, yn в соответствующих точках x0, x1 ,…, xn. Построим интерполяционный многочлен Ln(x), степень которого не больше n и для которого выполняется условие :F(x0)=y0, F(x1)=y1, …, F(xn)=yn (1), где приближенно f(x)=F(x). Будем искать Ln(x) в виде: Ln(x)=l0(x)+l1(x)+…+ln(x) (2), где li(x) – многочлен степени n, причем li(xk)=yi, если i=k и li(xk)=0, если (3). Очевидно, что требование (3) с учетом (2) обеспечивает выполнение условий (1). Многочлены li(x) составим следующим образом: li(x)=ci(x–x0)(x–x1)…(x–xi–1)(x–xi+1)…(x–xn) (4), где ci – постоянный коэффициент, значение которого найдем из первой части условия (3): , при этом ни один множитель в знаменателе не равен нулю. Подставим ci в (4) с учетом (2), получим: .
Оценка погрешности интерполяции.
Если известно аналитическое выражение интерполируемой функции f, то можно применить формулы для оценки погрешности интерполирования (погрешность метода). Остаточный член интерполируемого многочлена имеет вид: Rn(x)=f(x)-gn(x)
В силу единственности интерполируемого многочлена формула оценки погрешности используется и для многочлена Лагранжа и для многочлена Ньютона. Предположим, что f(x) имеет все производные до n+1 порядка, т.е. f(n+1)(x). Введем вспомогательную функцию u(x)=f(x)-gn(x)-k*Wn+1(x) (1), она имеет n+1 корней, это узлы интерполяции (x0, x1,..., xn). Wn+1(x)=(x-x0)(x-x1)…(x-xn), k выбирается из условия u(x*)=0, где x*–точка в которой оценивается погрешность, x*xi, i=.
Из u(x*)=0 получаем: . При таком выборе k функция u(x) обращается в ноль в (n+2) точках: x0, x1,…, xn, x*.
Воспользуемся теоремой Ролля. Теорема Ролля: пусть функция f(x) непрерывна на отрезке [a,b] и дифференцируема на интервале (a,b). Если f(a)=f(b), то найдется, по крайней мере, одна точка , в которой . По т.Ролля производная обращается в ноль, по крайней мере, в n+1 точках. Применяя т.Ролля к функции , получим, что обращается в ноль в n точках. Продолжая рассуждения, получим, что u(n+1)(x) обращается в ноль, по крайней мере, в 1 точке принадлежащей отрезку [y1,y2].
, y1=min(x0, x1,…, xn, x*), y2=max(x0, x1,…, xn, x*).
Т.к. u(n+1)(x)=f(n+1)(x)–k(n+1)! , то из условия: u(n+1)()=0 получаем
Соотношение u(x)=0 перепишем в виде: f(x)–gn(x)=, где .
Если принять , (x0xxn), то – оценочная формула, применяемая для подсчета погрешности методом интерполяции по формуле Лагранжа.
© ООО «Знанио»
С вами с 2009 года.