Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






Пусть при изучении некоторого явления установлено, что существует функциональная зависимость между величинами х и у, при этом функция 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. Поставленная задача называется задачей интерполяции функции. Табличные аргументы x0, x1,... xn, в которых значения многочлена P(x) должны совпадать со значениями функции y = φ (x ), называются узлами интерполяции.

В качестве искомого многочлена возьмем многочлен 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.

 

№ узла            
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.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.