Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа - Приближение функций.doc
Скачиваний:
125
Добавлен:
02.05.2014
Размер:
2.23 Mб
Скачать

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.

рис. 1.

Ввод N

Ввод таблицыx, y

Ввод A

F=0

Начало цикла

по I

от 1 до N

L=1

Начало цикла

по J

от 1 до N

L=L (A-X(J)) / (X(I)- (X(J) )

Конец цикла по I

L= L*Y(i)

F=F+L

Конец цикла по J

Выводы А, F

Схема алгоритма

да нет

  1. Интерполяционный многочлен Ньютона для равноотстоящих узлов

Часто интерполирование ведется для функций, заданных таблицами с равноотстоящими значениями аргумента. В этом случае шаг таблицы h =xi+1 xi (i=0,1,2…) является величиной постоянной. Для таких таблиц построение интерполяционных формул, а также проведение расчетов по ним заметно упрощается.

Для построения формулы Ньютона необходимо ввести понятие конечных разностей.

Пусть функция задана таблицей 1.1 с постоянным шагом. Разности между значениями функции в соседних узлах интерполяции называются конечными разностями первого порядка:

yi = yi+1yi , (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+12y =( 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

2yi

3yi

x0

y0

y0

2y0

3y0

x1

y1

y1

2y1

3y1

x2

y2

y2

2y2

x3

y3

y3

x4

y4