Интерполяция полиномами Лагранжа и Ньютона
Материал из MachineLearning.
Строка 48: | Строка 48: | ||
По определению интерполяционного полинома <tex><br>R_n(x_i) = 0, x_i \in \bf X</tex> <br> | По определению интерполяционного полинома <tex><br>R_n(x_i) = 0, x_i \in \bf X</tex> <br> | ||
поэтому речь идет об оценке <tex>R_n(x)</tex> при значениях <tex>x \not= x_i</tex>.<br> | поэтому речь идет об оценке <tex>R_n(x)</tex> при значениях <tex>x \not= x_i</tex>.<br> | ||
- | Пусть <tex>f(x)</tex> имеет непрерывную (n+1) производную на отрезке [a, b]. | + | Пусть <tex>f(x)</tex> имеет непрерывную (n+1) производную на отрезке [a, b].<br> |
+ | Тогда погрешность определяется формулой:<br> | ||
+ | <tex>|R_n(x)| = \frac{f^{n+1}(\varepsilon)}{(n+1)!}w_{n+1}(x)</tex>,<br> | ||
+ | где <tex>w_{n+1} = (x - x_0)...(x - x_n)</tex>,<br> | ||
+ | <tex>\varepsilon </tex>- точка из [a, b].<br> | ||
+ | Так как точка <tex>\varepsilon </tex> наизвестна, то эта формула позволяет только оценить погрешность:<br> | ||
+ | <tex>|R_n(x)| \le \frac{M_{n+1}}{(n+1)!}|w_{n+1}(x)|</tex><br> | ||
+ | где <tex>M_{n+1} = \max_{x\in[\alpha, \beta]}|f^{n+1}(x)|</tex><br> | ||
+ | Из вида множетеля <tex>w_{n+1}</tex> следует, что оценка имеет смысл только при <tex>x \in [x_0, x_n]</tex>. Если это не так, то при интерполяции используются полиномы низких степеней (n = 1,2). <br> | ||
+ | == Выбор узлов интерполяции == | ||
== Пример == | == Пример == | ||
== Литература == | == Литература == |
Версия 16:01, 20 октября 2008
Содержание |
Постановка задачи
Пусть задана функция
.
Пусть заданы точки
из некоторой области .
Пусть значения функции известны только в этих точках.
Точки называют узлами интерполяции.
- шаг интерполяционной сетки.
Задача интерполяции состоит в поиске такой функции из заданного класса функций, что
Метод решения задачи
Полином Лагранжа
Представим интерполяционную функцию в виде полинома
где - полиномы степели n вида:
Очевидно, что принимает значение 1 в точке и 0 в остальных узлах интерполяции. Следовательно в точке исходный полином принимает значение
Таким образом, построенный полином является интерполяционным полиномом для функции
на сетке .
Полином Ньютона
Интерполяционный полином в форме Лагранжа не удобен для вычислений тем, что при увеличении числа узло интерполции приходится перестраивать весь полином заного.
Перепишем полином Лагранжа в другом виде:
где - полиномы Лагранжа степени i ≤ n.
Пусть
. Этот полином инеет степень i и обращается в нуль при
.
Поэтому он представим в виде:
,
где - коэффициент при . Так как не входити в , то совпадает с коэффициентом при в полиноме . Таким образом из определения получаем:
где
Препишем формулу в виде
Рекуррентно выражая пролучам окончательную формулу для полинома:
Такое представление полинома удобно для вычисления, потому что увеличение числа узлов на единицу требует добавления только одного слагаемого.
Погрешность интерполирования
Поставим вопрос о том, насколько хорошо интерполяционный полином приближает функцию на отрезке [a,b].
Рассмотри м остаточный член:
, x ∈ [a, b].
По определению интерполяционного полинома
поэтому речь идет об оценке при значениях .
Пусть имеет непрерывную (n+1) производную на отрезке [a, b].
Тогда погрешность определяется формулой:
,
где ,
- точка из [a, b].
Так как точка наизвестна, то эта формула позволяет только оценить погрешность:
где
Из вида множетеля следует, что оценка имеет смысл только при . Если это не так, то при интерполяции используются полиномы низких степеней (n = 1,2).