Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 16.doc
Скачиваний:
3
Добавлен:
24.09.2019
Размер:
210.94 Кб
Скачать

Лекция 16.

ИНТЕРПОЛИРОВАНИЕ

§ 16.1. Постановка задачи интерполирования

Пусть на отрезке [a, b] заданы n+1 точки a=x0, x1, , xn=b, которые называются узлами интерполяции, и значения некоторой функции f(x) в этих точках

f(x0)=y0, f(x1)=y1, , f(xn)=yn (16.1)

Р

y=φ(x)

Mn

yn

y=f(x)

y1

M1

M0

y0

0 x0 x1 xn x

y

исунок 16.1. Геометрическая интерпретация задачи интерполирования

Рис. 1.1

Рис. 16.1.

Требуется построить функцию φ(x) близкую к f(x) и принимающую в узлах интерполяции те же значения, что и f(x), т.е. такую, что

φ(x0)=y0, φ(x1)=y1, …, φ(xn)=yn. (16.2)

Функция φ(x) называется интерполирующей или интерполяционной для функции f(x) на отрезке [a, b], если ее значения в узлах интерполяции совпадают со значениями функции f(x).

Функция φ(x)должна обладать "хорошими" свойствами, позволяющими легко производить над ней те или иные аналитические или вычислительные операции. Геометрически это означает, что нужно найти кривую y=φ(x), проходящую через заданную систему точек Mi(xi, yi) (i=0, 1, 2, …, n) (рис. 16.1).

В такой общей постановке задача может иметь бесчисленное множество решений или совсем не иметь решений в зависимости от того класса функций, в котором ищется интерполяционная функции. Однако эта задача становится однозначной, если вместо произвольной функции φ(x) искать полином Pn(x) степени не выше n, удовлетворяющий условиям (16.2), т.е. такой, что Pn(x0)=y0, Pn(x1)=y1, …, Pn(xn)=yn. В этом случае будем говорить о полиномиальной аппроксимации. Для вычислительной математики многочлены привлекательны тем, что они являются линейными функциями своих параметров (коэффициентов), и их вычисления сводятся к выполнению конечного числа простейших арифметических операций – сложения и умножения.

Полученную интерполяционную формулу y(x) обычно используют для приближенного вычисления значений данной функции f(x) для значений аргумента x, отличных от узлов интерполирования. Такая операция называется интерполированием функции f(x). При этом различают интерполирование в узком смысле, когда x[x0, xn], и экстраполирования, когда x[x0, xn]. В дальнейшем под термином интерполирование будем понимать как первую, так и вторую операцию.

§ 16.2. Интерполяционный многочлен Лагранжа

Интерполяционная формула Лагранжа используется для произвольно заданных узлов интерполирования.

Пусть в точках x0, x1, , xn таких, что a x0<…< xnb, известны значения функции y=f(x), т.е. на отрезке [a, b] задана табличная (сеточная) функция f(x):

x

x0

x1

xn

y

y0

y1

yn

(16.3)

Требуется построить полином

Ln(x) =a0 + a1x + a2x2 + + an xn (16.4)

степени n, имеющий в заданных узлах x0, x1, , xn те же значения, что и функция f(x), т.е. такой, что

Ln(xi)=yi (i=0, 1, 2,…, n).

Это значит найти его n+ 1 коэффициент a0, a1, a2 , …, an . Для этого имеется как раз п + 1 условие (16.2). Таким образом, чтобы многочлен (16.4) был интерполяционным для функции (16.3), нужно, чтобы его коэффициенты удовлетворяли системе уравнений

,

Из курса алгебры известно, что определитель этой линейной системы (так называемый определитель Вандермонда) отличен от нуля, т.е. решение этой системы существует и единственно. Однако практическое построение интерполяционного многочлена таким путем малоэффективно. Поэтому изберем другой путь.

Будем строить многочлен n-ой степени Ln(x) в виде линейной комбинации многочленов n-й же степени li(x) (i=0, 1, 2,…, n). Индекс i показывает номер многочлена. Для того чтобы этот многочлен был интерполяционным для функции f(x), достаточно зафиксировать в качестве коэффициентов ci этой линейной комбинации заданные в табл. (16.3) значения yi=f(xi), а от базисных многочленов li(x) потребовать выполнения условия

(16.5)

где ij – символ Кронекера.

В этом случае для многочлена в каждом узле 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), учтем, что они должны удовлетворять условиям (16.5). Равенство нулю i-го многочлена во всех узлах, кроме i-го, означает, что li(x) можно записать в виде

li(x)=Ai(x-x0)…(x-xi-1)(x-xi+1)…(x-xn),

а коэффициент Ai этого представления легко получается из содержащегося в (16.5) требования li(xi)=1. Подставляя в выражение li(x) значение x=xi и приравнивая результат единице, получаем:

Таким образом, базисные многочлены Лагранжа имеют вид:

,

а искомый интерполяционный многочлен Лагранжа:

(16.6)

Пример. Построить интерполяционный полином для функции y=sin x.

Возьмем сетку, состоящую из трех точек: x0=0; x1= ; x2= , выпишем соответствующие этим аргументам значения функции sin x: y0=0; y1= ; y2=1.

Построим по этой таблице интерполяционный полином второй степени. По формуле Лагранжа (2.3):

.

Легко проверить, что в точках сетки этот полином принимает нужные значения. Чтобы получить представление о погрешности интерполирования, сравнивая значения sin x и интерполяционного полинома в точке х= .

.

Значительная величина погрешности определяется тем, что на отрезке длиной мы взяли грубую сетку, состоящую всего из трех точек. Чтобы улучшить точность интерполирования, нужно либо увеличить число точек n и повысить соответственно степень интерполяционного полинома Ln(x), либо уменьшить длину исходного отрезка.

Будем выяснять величину отклонения f(x) от Ln(x) в произвольной точке x[ab], иначе, величину остаточного члена

Rn(x)= f(x) Ln(x)

интерполяционной формулы Лагранжа (16.6) в предположении, что f(x)  Сn+1[ab], т.е. данная функция n + 1 раз непрерывно дифференцируема.

Обозначим

определенный через узлы x0, x1, , xn многочлен (n + 1)-й степени. Тогда можно показать, что

(16.7)

где   некоторая точка из промежутка интерполяции (a, b).

Теперь можно пытаться отвечать на вопросы о погрешности приближенного вычисления значения f(x) с помощью Ln(x) в какой-либо конкретной точке промежутка [ab] о величине максимальной погрешности, допускаемой при подмене функции f(x) многочленом Ln(x) на отрезке [ab] о сходимости интерполяционного процесса, т.е. о том, имеет ли место (f(x), Ln(x)) 0, при n по метрике (у) того или иного определенного на [ab] функционального пространства.

Так, если известна величина

'

то оценить абсолютную погрешность интерполяционной формулы (16.6) в любой точке [ab] можно с помощью неравенства

Максимальная погрешность интерполирования на отрезке [ab] оценивается величиной

(16.8)

Так как максимумы модулей функций /(я+1)(x) и Пn+1(х) достигаются, вообще говоря, в разных точках отрезка [ab], то более точной, но более трудно реализуемой по сравнению с (16.8) следует считать оценку

Недостатком интерполяционной формулы Лагранжа является то, что каждое слагаемое зависит от всех узлов интерполяции. При добавлении узла интерполяции и, следовательно, повышении порядка полинома необходимо вычислять не только слагаемое, относящееся к новому узлу, но и перевычислять заново слагаемые, относящиеся ко всем узлам интерполяции.