Интерполяция полиномами Лагранжа и Ньютона
Материал из MachineLearning.
Строка 25: | Строка 25: | ||
Перепишем полином Лагранжа в другом виде:<br> | Перепишем полином Лагранжа в другом виде:<br> | ||
<tex>P_n(x) = P_0(x) + \sum_{i=1}^n{(P_i(x) - P_{i-1}(x))} </tex><br> | <tex>P_n(x) = P_0(x) + \sum_{i=1}^n{(P_i(x) - P_{i-1}(x))} </tex><br> | ||
+ | где <tex>P_i(x)</tex> - полиномы Лагранжа степени i ≤ n.<br> | ||
+ | Пусть <tex>Q_i(x) = P_i(x) - P_{i-1}(x) \qquad(*)</tex> <br>. Этот полином инеет степень i и обращается в нуль при | ||
+ | <tex>x = x_0, x = x_1, ..., x = x_{i-1}{</tex>. <br> | ||
+ | Поэтому он представим в виде:<br> | ||
+ | <tex>Q_i(x) = A_i(x - x_0)...(x - x_{i-1})</tex>, | ||
+ | где <tex>A_i</tex> - коэффициент при <tex>x^i</tex>. Так как <tex>x^i</tex> не входити в <tex>P_{i-1}(x)</tex>, то <tex>A_i</tex> совпадает с коэффициентом при <tex>x^i</tex> в полиноме <tex>P_i(x)</tex>. Таким образом из определения <tex>P_i(x)</tex> получаем:<br> | ||
+ | <tex> A_i = \sum_{k=0}^i\frac{f(x_k)}{w_{k,i}}</tex><br> | ||
+ | где <br> | ||
+ | <tex> w_{k,i} = (x_k - x_0)...(x_k - x_{k-1})(x_k - x_{k+1})...(x_k - x_i)</tex><br> | ||
+ | Препишем формулу <tex>\qquad(*)</tex> в виде <br> | ||
+ | <tex>P_n(x) = P_{n-1} + A_n(x - x_0)...(x - x_{n-1})</tex><br> | ||
+ | Рекуррентно выражая <tex>P_i(x)</tex> пролучам окончательную формулу для полинома: <br> | ||
+ | <tex>P_n(x) = A_0 + A_1(x-x_0) + ...+ A_n(x - x_0)...(x - x_{n-1})</tex><br> | ||
+ | Такое представление полинома удобно для вычисления, почтому что увеличение числа узлов на единицу требует добавления только одного слагаемого.<br> | ||
+ | |||
+ | |||
+ | |||
+ | ==Погрешность интерполирования== | ||
+ | |||
== Пример == | == Пример == | ||
== Литература == | == Литература == |
Версия 18:52, 19 октября 2008
Содержание |
Постановка задачи
Пусть задана функция
.
Пусть заданы точки
из некоторой области .
Пусть значения функции известны только в этих точках.
Точки называют узлами интерполяции.
- шаг интерполяционной сетки.
Задача интерполяции состоит в поиске такой функции из заданного класса функций, что
Метод решения задачи
Полином Лагранжа
Представим интерполяционную функцию в виде полинома
где - полиномы степели n вида:
Очевидно, что принимает значение 1 в точке и 0 в остальных узлах интерполяции. Следовательно в точке исходный полином принимает значение
Таким образом, построенный полином является интерполяционным полиномом для функции
на сетке .
Полином Ньютона
Интерполяционный полином в форме Лагранжа не удобен для вычислений тем, что при увеличении числа узло интерполции приходится перестраивать весь полином заного.
Перепишем полином Лагранжа в другом виде:
где - полиномы Лагранжа степени i ≤ n.
Пусть
. Этот полином инеет степень i и обращается в нуль при
.
Поэтому он представим в виде:
,
где - коэффициент при . Так как не входити в , то совпадает с коэффициентом при в полиноме . Таким образом из определения получаем:
где
Препишем формулу в виде
Рекуррентно выражая пролучам окончательную формулу для полинома:
Такое представление полинома удобно для вычисления, почтому что увеличение числа узлов на единицу требует добавления только одного слагаемого.