Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 Приближение функций.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
979.46 Кб
Скачать

4.1.2.Интерполяционная формула Лагранжа

Интерполяционные формулы Ньютона пригодны лишь для равноотстоящих узлов интерполирования. Рассмотрим интерполяционную формулу Лагранжа, которая применима при любом расположении узлов. Пусть дана система точек x0, x1, …, xn, принадлежащих некоторому отрезку [a, b] и известны соответствующие значения функции yi = f(xi). Найдем многочлен Ln(x), удовлетворяющий условиям Ln(xi) = yi.

При построении многочлена Лагранжа используются многочлены n-й степени pi(x), принимающие значение 1 в точке xi и нулевые значения в остальных узлах интерполяции xj, ji. Так как xj при ji являются корнями многочлена pi(x), то справедливо разложение pi(x) на множители

pi(x) = Ci(xx0)(xx1)…(xxi – 1 )(xxi + 1)… (xxn), i = 0, 1,…, n.

Из условия pi(xi) = 1 находим значение константы Ci

Ci = 1/[(xix0)( xix1)…( xixi – 1 )( xixi + 1)… (xixn)],

и получаем выражение для многочленов pi(xi):

(4.16)

Интерполяционный многочлен Лагранжа имеет вид

. (4.17)

Формулу Лагранжа можно преобразовать так, чтобы упростить вычисления. Вынесем за знак суммы произведение

Пn + 1(x) = (xx0)(xx1)…(xxn),

которое является многочленом степени n + 1. Получим

Теперь формулу Лагранжа можно записать в виде

, (4.18)

где Di = (xix0)(xix1)…(xixi1 )(xxi)(xixi + 1)… (xixn).

Обратите внимание на то, что в произведении Di из n + 1 сомножителя вместо скобки (xixi) присутствует множитель (xxi).

Пример 4.4. Вычислить значение функции из примера 4.3 в точке x = 2,3 с помощью интерполяционной формулы Лагранжа.

Решение в программе Excel. Результат выполнения задания показан в таблице 4.6. В таблице 4.5 для контроля приведены формулы в соответствующих ячейках. Приведем алгоритм ввода данных и расчетных формул.

1) В ячейку A1 вводим имя переменной «x=», а в B1 — ее значение 2,3. Присвоим ячейке B1 имя x. Для этого выделим ячейку B1 и выполним команду «Вставка — Имя — Присвоить — x».

2) В столбцы A2: A7, B2: B7, C2: C7 и строку D2:J2 введем данные как в таблице 4.5.

В остальных заполненных ячейках таблицы 4.5 содержатся формулы, которые рекомендуется ввести в следующем порядке:

3) (Заполнение диагонали.) В ячейку D3 вводим «=x-$B3»; выделим D3, копируем в буфер, а затем поочередно вставим в ячейки E4, F5, G6 и H7. В этих ячейках будут записаны соответственно формулы «=x-$B4», «=x-$B5», «=x-$B6», «=x-$B7».

4) (Заполнение ячеек под диагональю.) В ячейку D4 вводим «=B4-B$3». Копируем D4 маркером заполнения вниз до D7. Аналогично, в ячейку E5 вводим «=B5-B$3». Копируем E5 маркером заполнения вниз до E7; в ячейку F6 вводим «=B6-B$3». Копируем F6 в F7. В ячейку H7 вводим «=x-$B7».

5) (Заполнение ячеек над диагональю.) В ячейку E3 вводим «=B3-B$4». В ячейку F3 вводим «=B3-B$5». Копируем F3 маркером заполнения вниз до F4. в ячейку G3 вводим «=B3-B$6». Копируем G3 маркером заполнения вниз до G5.

6) (Вычисление многочлена Лагранжа.) В ячейку I3 вводим формулу «=ПРОИЗВЕД(D3:H3)» и копируем ее вниз до I7. В ячейку J3 вводим формулу «=C3/I3» и копируем ее вниз до J7. В ячейку J8 вводим «=СУММ(J3:J7)», в ячейку H9 — «=D3*E4*F5*G6*H7», а в J9 — «=H9*J8».

Табл. 4.5.

C

D

E

F

G

H

I

J

1

2

yi

0

1

2

3

4

Di

yi/Di

3

4

=x-$B3

=B3-B$4

=B3-B$5

=B3-B$6

=B3-B$7

=ПРОИЗВЕД(D3:H3)

=C3/I3

4

5

=B4-B$3

=x-$B4

=B4-B$5

=B4-B$6

=B4-B$7

=ПРОИЗВЕД(D4:H4)

=C4/I4

5

5,5

=B5-B$3

=B5-B$4

=x-$B5

=B5-B$6

=B5-B$7

=ПРОИЗВЕД(D5:H5)

=C5/I5

6

5,7

=B6-B$3

=B6-B$4

=B6-B$5

=x-$B6

=B6-B$7

=ПРОИЗВЕД(D6:H6)

=C6/I6

7

5,8

=B7-B$3

=B7-B$4

=B7-B$5

=B7-B$6

=x-$B7

=ПРОИЗВЕД(D7:H7)

=C7/I7

8

=СУММ

(J3:J7)

9

=D3*E4

*F5*G6*H7

=H9*J8

Табл. 4.6.

A

B

C

D

E

F

G

H

I

J

1

x=

2,3

2

i

xi

yi

0

1

2

3

4

Di

yi/Di

3

0

2

4

0,3

-0,5

-1

-1,5

-2

0,45

8,888889

4

1

2,5

5

0,5

-0,2

-0,5

-1

-1,5

0,075

66,66667

5

2

3

5,5

1

0,5

-0,7

-0,5

-1

-0,175

-31,4286

6

3

3,5

5,7

1,5

1

0,5

-1,2

-0,5

0,45

12,66667

7

4

4

5,8

2

1,5

1

0,5

-1,7

-2,55

-2,27451

8

54,51914

9

0,08568

4,6712

Результат f(2,3) = 4,6712 совпадает со значением, полученным в примере 4.3. Так и должно быть, ведь по заданным точкам многочлен n-й степени определяется единственным образом.