
- •«Приближение функций»
- •Содержание
- •Введение
- •Постановка задачи приближения функции
- •2. Интерполяционный многочлен Лагранжа
- •Алгоритм вычисления значения интерполяционного многочлена Лагранжа
- •Интерполяционный многочлен Ньютона для равноотстоящих узлов
- •Первая интерполяционная формула Ньютона
- •3.2. Вторая интерполяционная формула Ньютона
- •Итерационный метод интерполяции (по Эйткену)
- •5. Программная реализация методов в среде Mathcad
2. Интерполяционный многочлен Лагранжа
Пусть функция f задана таблицей 4.1. Построим интерполяционный многочлен Ln(x), степень которого не больше n и для которого выполнены условия (1.2). Будем искать Ln(x), в виде
Ln(x) = l0 (х)+ l1 (х)+…+ ln (х). (2.1)
где li (x) –многочлен степени n, причем
li(xk)
=
(2.2)
Очевидно, что требование (2.2) с учетом (2.1) вполне обеспечивает выполнение условий (4.2).
Многочлены li (x) составим следующим способом:
li (x) = ci (x-x0)(x-x1)…(x-xi-1)(x-xi+1)…(x-xn) (2.3)
где сi – постоянный коэффициент, значение которого найдем из первой части условия (2.2):
сi
=
( ни один множитель в знаменателе не равен нулю).
Подставим сi в (2.3) и далее с учетом (2.1) окончательно имеем:
Ln(x)
=
(2.4)
Эго и есть интерполяционный многочлен Лагранжа. По таблице исходной функции f формула (2.4) позволяет весьма просто составить «внешний вид» многочлена.
Пример 1. Построить интерполяционный многочлен Лагранжа для функции, заданной таблицей:
x |
1 |
2 |
3 |
f(x) |
12 |
4 |
6 |
Из таблицы 2 следует, что n=2(степень многочлена будет не выше, чем вторая); здесь x0 =1, x1 =3, x2 =4. Используя формулу (2.4), получаем:
L2
(x)
= 12
+4
+ 6
= 2 (x2
-7x+12)
–
– 2(x2 – 5x+4)+2(x2 -4x+4)= 2x2 -12x+22.
Используя
обозначение (
x-x0)(x-x1)…(x-xn),
формуле
Лагранжа можно придать более сжатый
вид. Продифференцируем
по
x:
=
…(x-xi-1)(x-xi+1)…(x-xn)
При x = xi имеем, (i=0,1, ..., п):
=
.
Тогда формула Лагранжа принимает вид:
Ln(x)
=
=
Алгоритм вычисления значения интерполяционного многочлена Лагранжа
Для составления программы вычисления одного значения интерполяционного многочлена Лагранжа на ЭВМ воспользуемся формулой (2.4).Основная рабочая часть искомого алгоритма состоит из двойного цикла - во внутреннем цикле вычисляются n+1 значений многочленов-слагаемых вида (i=0,1, ..., п):
Ln(x)
=
(в числителе и знаменателе n сомножителей), а во внешнем — накапливается общая сумма
Ln(x)
= (x).
Работа внутреннего цикла контролируется с помощью индекса j. Изменяясь в пределах от 0 до n, индекс j принимает все-таки ровно п значений, «проскакивая» текущее значение индекса i, определяемого во внешнем цикле. Тем самым обеспечивается правильное составление многочленов-слагаемых li(x) формулы Лагранжа. Носителем окончательного результата является переменная f.
Схема алгоритма изображена на рис. 1.
р
Ввод N
Ввод таблицыx,
y
Ввод A
F=0
Начало цикла
по I
от 1 до N
L=1
Начало цикла
по J
от 1 до N
L=L
Конец цикла по I
L= L*Y(i)
F=F+L
Конец цикла по J
Выводы А, F
ис.
1.
(A-X(J)) / (X(I)- (X(J) )
Схема алгоритма
да нет
Интерполяционный многочлен Ньютона для равноотстоящих узлов
Часто
интерполирование ведется для функций,
заданных таблицами с равноотстоящими
значениями аргумента. В этом случае
шаг таблицы h
=xi+1
–xi
(i=0,1,2…)
является
величиной постоянной. Для таких таблиц
построение интерполяционных формул, а
также проведение расчетов по ним заметно
упрощается.
Для построения формулы Ньютона необходимо ввести понятие конечных разностей.
Пусть функция задана таблицей 1.1 с постоянным шагом. Разности между значениями функции в соседних узлах интерполяции называются конечными разностями первого порядка:
yi
= yi+1
– yi
,
(i=0,
1, 2 ...).
Из конечных разностей первого порядка образуются конечные разности второго порядка:
2
yi
=
yi+1
–
yi
,
(i=0,
1, 2...).
Продолжая этот процесс, можно по заданной таблице функции составить таблицу конечных разностей (см. таблицу 2.1). Конечные разности любого порядка могут быть представлены через значения функции. Действительно, для разностей первого порядка это следует из определения. Для разностей второго порядка имеем:
2
yi
=
yi+1
–
y = ( yi+2
–
yi+1
) – ( yi+1
–
yi
)
= yi+2
–
2yi+1
+
yi
.
Аналогично для разностей третьего порядка:
3
yi
=
2
yi+1
–
2y
=( yi+3
–
2yi+2
+
yi+1
) – ( yi+2
–
2yi+1
+
yi
)
= yi+3
–
3yi+2
+
+ 3 yi+1 – yi и т.д.
Методом математической индукции можно доказать, что
k
yi
= yi+k
-
k
yi+k
+
yi+k-2
- … + (-1)
k
yi.
(3.1)
Таблица 3.1.
x |
y |
∆yi |
|
|
… |
x0 |
y0 |
∆y0 |
|
|
|
x1 |
y1 |
∆y1 |
|
|
|
x2 |
y2 |
∆y2 |
|
… |
|
x3 |
y3 |
∆y3 |
… |
|
|
x4 |
y4 |
… |
|
|
|
… |
… |
|
|
|
|