Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Интерполяция функций. Многочлен Лагранжа.
Пусть при изучении некоторого явления установлено, что существует функциональная зависимость между величинами х и у, при этом функция 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.
На рис.1 приведена блок-схема программы интерполяции по формуле Лагранжа. Программа использует обращение к процедуре-функции вычисления многочлена Лагранжа в точке х = х1. Блок-схема процедуры–функции приведена на рис. 2. Далее приводится текст программы на языке QBASIC.
|