Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Численные методы.doc
Скачиваний:
172
Добавлен:
07.11.2018
Размер:
1.08 Mб
Скачать

Интерполяция функций. Многочлен Лагранжа.

Пусть при изучении некоторого явления установлено, что существует функциональная зависимость между величинами х и у, при этом функция y = φ(x) Остается нам неизвестной, но на основании эксперимента установлены значения этой функции y0, у1, у2, …, уn при некоторых значениях аргумента x0, x1, x2, ….xn, принадлежащих отрезку [a, b].

Задача заключается в том, чтобы найти функцию, по возможности более простую с вычислительной точки зрения (например, многочлен), которая представляла бы неизвестную функцию y = φ(x) точно или приближенно. Другими словами, задачу можно сформулировать так:

на отрезке [a, b] заданы значения y0 = φ(x0), y1 = φ(x1), … y n = φ(xn) неизвестной функции

y = φ(x) в n + 1 различных точках x0, x1, x2, ….xn; требуется найти многочлен P(x) степени ≤ n, приближенно выражающий функцию y = φ(x).

В качестве такого многочлена естественно взять многочлен, значения которого в точках x0, x1, x2, ….xn совпадают c соответствующими значениями функции y = φ(x) − y0, у1, у2, …, уn . Поставленная задача называется задачей интерполяции функции.

В качестве искомого многочлена возьмем многочлен n – й степени вида

L n(x) = C0 (x – x1) (x – x2) … (x – x n) + C1(x – x0) (x – x2) … (x – x n) +

+C2(x – x0) (x – x1) (x – x3)…(x –x n) + … + C n (x – x0) (x – x1) …(x – x n – 1 ). (1)

Определим коэффициенты С0, С1, …, С n так, чтобы выполнялись условия

L n (x0) = y0, L n (x1) = y1, …, L n (x n) = y n . (2)

Положим в формуле (1) x = x0, тогда, принимая во внимание равенство (2), получим

y0 = C0 (x0 – x1) (x0 – x2) … (x 0– x n)

откуда

Затем, положив х = х1, получим

Подставляя найденные значения в выражение (1), получим

Этот формула называется интерполяционной формулой Лагранжа (1736 – 1813, Франция). L n(x) - многочлен Лагранжа.

Отметим без доказательства, что если y = φ(x) имеет производную (n + 1)-го порядка на отрезке [a, b], то погрешность при замене функции y = φ(x) многочленом L n(x), т.е. величина

R(x) = φ(x) – Ln(x)

удовлетворяет неравенству

Ввиду сложности этого выражения, практически погрешность вычисляется по формуле

| φ(x) – Ln(x)| ≤ |L n+1 (x) – L n (x)|

П р и м е р .

Выполнить интерполяцию c помощью многочлена Лагранжа функции y = φ(x), заданной таблично в точках x1 = 0.62 и x1 = 0.57.

№ узла

0

1

2

3

4

5

x i

0.50

0.55

0.60

0.65

0.70

0.75

y I = φ(x i)

0.8881

1.0265

1.1752

1.3366

1.5095

1.6963

На рис.1 приведена блок-схема программы интерполяции по формуле Лагранжа. Программа использует обращение к процедуре-функции вычисления многочлена Лагранжа в точке х = х1. Блок-схема процедуры–функции приведена на рис. 2.

Далее приводится текст программы на языке QBASIC.