Интерполяция полиномами Лагранжа и Ньютона
Материал из MachineLearning.
| Строка 4: | Строка 4: | ||
| <tex> y = f(x) </tex>. <br> | <tex> y = f(x) </tex>. <br> | ||
| Пусть заданы точки  | Пусть заданы точки  | ||
| - | <tex> \bf{ | + | <tex> \bf{X} = \{ x_i | i = 1..n \}</tex> | 
| из некоторой области <tex> \bf D </tex>.<br> | из некоторой области <tex> \bf D </tex>.<br> | ||
| Пусть значения функции <tex> f </tex> известны только в этих точках.<br> | Пусть значения функции <tex> f </tex> известны только в этих точках.<br> | ||
| - | Точки <tex> \bf{ | + | Точки <tex> \bf{X} </tex> называют узлами интерполяции.<br> | 
| <tex> \delta x_i = x_i - x_{i-1}</tex> - шаг интерполяционной сетки.<br> | <tex> \delta x_i = x_i - x_{i-1}</tex> - шаг интерполяционной сетки.<br> | ||
| Задача интерполяции состоит в поиске такой функции <tex> F </tex> из заданного класса функций, что | Задача интерполяции состоит в поиске такой функции <tex> F </tex> из заданного класса функций, что | ||
| Строка 20: | Строка 20: | ||
| Очевидно, что <tex>Q_{n,i}(x)</tex> принимает значение 1 в точке <tex>x_i</tex> и 0 в остальных узлах интерполяции. Следовательно в точке <tex>x_i</tex> исходный полином принимает значение <tex>y_i</tex><br> | Очевидно, что <tex>Q_{n,i}(x)</tex> принимает значение 1 в точке <tex>x_i</tex> и 0 в остальных узлах интерполяции. Следовательно в точке <tex>x_i</tex> исходный полином принимает значение <tex>y_i</tex><br> | ||
| Таким образом, построенный полином <tex>P_n(x)</tex> является интерполяционным полиномом для функции | Таким образом, построенный полином <tex>P_n(x)</tex> является интерполяционным полиномом для функции | ||
| - | <tex> y = f(x) </tex> на сетке <tex> \bf{ | + | <tex> y = f(x) </tex> на сетке <tex> \bf{X} </tex>. <br> | 
| ===Полином Ньютона=== | ===Полином Ньютона=== | ||
| Интерполяционный полином в форме Лагранжа не удобен для вычислений тем, что при увеличении числа узло интерполции приходится перестраивать весь полином заного.<br> | Интерполяционный полином в форме Лагранжа не удобен для вычислений тем, что при увеличении числа узло интерполции приходится перестраивать весь полином заного.<br> | ||
| Строка 38: | Строка 38: | ||
| Рекуррентно выражая <tex>P_i(x)</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> | <tex>P_n(x) = A_0 + A_1(x-x_0) + ...+ A_n(x - x_0)...(x - x_{n-1})</tex><br> | ||
| - | Такое представление полинома удобно для вычисления,  | + | Такое представление полинома удобно для вычисления, потому что увеличение числа узлов на единицу требует добавления только одного слагаемого.<br> | 
| ==Погрешность интерполирования== | ==Погрешность интерполирования== | ||
| - | + | Поставим вопрос о том, насколько хорошо интерполяционный полином <tex>P_n(x)</tex> приближает функцию <tex>f(x)</tex> на отрезке [a,b].<br> | |
| + | Рассмотри м остаточный член:<br> | ||
| + | <tex>R_n(x) = f(x) - P_n(x)</tex>, x ∈ [a, b].<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>f(x)</tex> имеет непрерывную (n+1) производную на отрезке [a, b]. | ||
| == Пример == | == Пример == | ||
| == Литература == | == Литература == | ||
Версия 15:19, 20 октября 2008
| Содержание | 
Постановка задачи
Пусть задана функция
. 
Пусть заданы точки 
из некоторой области 
.
Пусть значения функции  известны только в этих точках.
Точки  называют узлами интерполяции.
 - шаг интерполяционной сетки.
Задача интерполяции состоит в поиске такой функции  из заданного класса функций, что
Метод решения задачи
Полином Лагранжа
Представим интерполяционную функцию в виде полинома
где  - полиномы степели n вида:
Очевидно, что  принимает значение 1 в точке 
 и 0 в остальных узлах интерполяции. Следовательно в точке 
 исходный полином принимает значение 
Таким образом, построенный полином  является интерполяционным полиномом для функции
 на сетке 
. 
Полином Ньютона
Интерполяционный полином в форме Лагранжа не удобен для вычислений тем, что при увеличении числа узло интерполции приходится перестраивать весь полином заного.
Перепишем полином Лагранжа в другом виде:
где  - полиномы Лагранжа степени i ≤ n.
Пусть  
. Этот полином инеет степень i и обращается в нуль при 
. 
Поэтому он представим в виде:
,
где 
 - коэффициент при 
. Так как 
 не входити в 
, то 
 совпадает с коэффициентом при 
 в полиноме 
. Таким образом из определения 
 получаем:
где 
Препишем формулу  в виде 
Рекуррентно выражая  пролучам окончательную формулу для полинома: 
Такое представление полинома удобно для вычисления, потому что увеличение числа узлов на единицу требует добавления только одного слагаемого.
Погрешность интерполирования
Поставим вопрос о том, насколько хорошо интерполяционный полином  приближает функцию 
 на отрезке [a,b].
Рассмотри м остаточный член:
, x ∈ [a, b].
По определению интерполяционного полинома  
поэтому речь идет об оценке   при значениях 
.
Пусть  имеет непрерывную (n+1) производную на отрезке [a, b].

