![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Интерполяционная формула Лагранжа используется для произвольно заданных узлов интерполирования.
Пусть в точках x0, x1, …, xn таких, что a£ x0<…< xn£b, известны значения функции y=f(x), т.е. на отрезке [a, b] задана табличная (сеточная) функция
x | x0 | x1 | … | xn |
y | y0 | y1 | … | yn |
f(x): (2.1)
Требуется построить полином Ln(x) степени не выше n, имеющий в заданных узлах x0, x1, …, xn те же значения, что и функция f(x), т.е. такой, что
Ln(xi)=yi (i=0, 1, 2,…, n).
Будем строить многочлен n -ой степени Ln(x) в виде линейной комбинации многочленов n -й же степени li(x) (i=0, 1, 2,…, n). Индекс i показывает номер многочлена. Для того чтобы этот многочлен был интерполяционным для функции f(x), достаточно зафиксировать в качестве коэффициентов ci этой линейной комбинации заданные в табл. (2.1) значения yi=f(xi), а от базисных многочленов li(x) потребовать выполнения условия
(2.2)
где dij – символ Кронекера.
В этом случае для многочлена
в каждом узле xj (jÎ{0, 1,…,n}), в силу (2.2), справедливо
Ln(xj)=l0(xj)y0+…+lj-1(xj)yj-1+lj(xj)yj+lj+1(xj)yj+1+…+ln(xj)yn=0+…+0+yj+0+…+0=yj
Чтобы конкретизировать базисные многочлены li(x), учтем, что они должны удовлетворять условиям (2.2). Равенство нулю i -го многочлена во всех узлах, кроме i -го, означает, что li(x) можно записать в виде
li(x)=Ai(x-x0)…(x-xi-1)(x-xi+1)…(x-xn),
а коэффициент Ai этого представления легко получается из содержащегося в (2.2) требования li(xi)=1. Подставляя в выражение li(xi) значение x=xi и приравнивая результат единице, получаем:
Таким образом, базисные многочлены Лагранжа имеют вид:
,
а искомый интерполяционный многочлен Лагранжа:
(2.3)
Пример. Построить интерполяционный полином для функции y=sin x.
Возьмем сетку, состоящую из трех точек: x0=0; x1= ; x2=
, выпишем соответствующие этим аргументам значения функции sin x: y0=0; y1=
; y2=1.
Построим по этой таблице интерполяционный полином второй степени. По формуле Лагранжа (2.3):
.
Легко проверить, что в точках сетки этот полином принимает нужные значения. Чтобы получить представление о погрешности интерполирования, сравнивая значения sin x и интерполяционного полинома в точке х= .
.
Значительная величина погрешности определяется тем, что на отрезке длиной мы взяли грубую сетку, состоящую всего из трех точек. Чтобы улучшить точность интерполирования, нужно либо увеличить число точек n и повысить соответственно степень интерполяционного полинома Ln(x), либо уменьшить длину исходного отрезка.
Дата публикования: 2015-03-26; Прочитано: 706 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!