Интерполяционный полином Ньютона

Пусть y0 = y(x0), y1 = y(x1), …, yn = y(xn) - значения функции y(x) в узлах интерполяции. Тогда разности

Dy0 = y1 – y0, Dy1 = y2 – y1, …, Dyn-1 = yn – yn-1

называются конечными разностями первого порядка или просто первыми разностями.

Разностями второго порядка или вторыми разностями называются разности первых разностей, т.е.

D2y0 = Dy1 - Dy0, D2y1 = Dy2 - Dy1, …, D2yn-2 = Dyn-1 - Dyn-2.

Аналогично определяются последующие разности. Например, разность (к+1)-го порядка получается из разности k-го порядка по формулам

Dk+1y0 = Dky1 - Dky0, Dk+1y1 = Dky2 - Dky1.

Разности высших порядков выражаются через yi следующими формулами:

Введем так называемые разделенные разности.

Разделенные разности первого порядка определяются формулой

y(xi, xj) = (yi – yj) / (xi – xj).

Например,

y(x1, x0) = (y1 – y0)/(x1 – x0) = Dy0/h1, где h1 = x1 – x0,

y(x2, x1) = (y2 – y1)/(x2 – x1) = Dy1/h2, где h2 = x2 – x1, и т.д.

Разделенные разности второго порядка определяются формулой

y(xi, xj, xk) = [y(xi, xj) – y(xj, xk)] / (xi – xk).

Разделенные разности k-го порядка определяются формулой

y(xk, xk-1, …, x1, x0) = [y(xk, xk-1, …, x1) – y(xk-1, …, x0)] / (xk – x0).

В случае равностоящих узлов с шагом h для разделенных разностей имеем формулы:

y(x1, x0) = Dy0 / h, y(x2, x1) = Dy1 / h, …, y(xn, xn-1) = Dyn-1 / h;

y(x2, x1, x0) = D2y0 / 2!h2, y(x3, x2, x1) = D2y1 / 2!h, …;

y(xk, xk-1, x0) = Dky0 / k!h.

Если у(x)=Pn(x) - полином степени n, то для него первая разделенная разность P(x, x0) = (P(x) – P(x0)) / (x – x0) - есть полином степени (n-1), вторая разделенная разность P(x,x0,x1) - полином степени (n-2), так что разделенная разность (n+1)-го порядка равна нулю.

Разделенные разности располагаются по схеме:

Рассмотрим первую разделенную разность для функции y(x)

y(x, x0) = (y(x) – y0) / (x – x0), откуда y(x) = y0 + (x – x0) y(x, x0).

Далее имеем

y(x, x0) = y(x0, x1) + (x – x1) y(x, x0, x1),

y(x, x0, x1) = y(x0, x1, x2) + (x – x2) y(x, x2, x1, x0)

и т.д. Отсюда получаем формулу

y(x) = y0 + (x – x0) y(x0, x1) + (x – x0) (x – x1) y(x0, x1, x2) + … +

+ (x – x0) (x – x1) … (x – xn-1) y(x0, x1, …, xn) +

+ (x – x0) … (x – xn) y(x, x0, …, xn)

или

y(x) = Pn(x) + (x – x0) (x – x1) … (x – xn) y(x, x0, x1, …, xn),

где

. (6.10)

Если положить в формуле (6.10) x = xk, k = 0, 1, …, n, получим Pn(xk) = yk.

Следовательно, полином (6.10) является интерполяционным полиномом, построенным по (n+1) узлам x0, x1,..., xn. Он называется интерполяционным многочленом Ньютона.

В силу того, что любой k-й член полинома Ньютона (6.10) зависит только от к первых узлов интерполяции и от значений функции в этих узлах, добавление новых узлов вызывает лишь добавление в формуле (6.10) новых членов без изменения первоначальных, в этом состоит существенное, с точки зрения организации вычислений, преимущество полинома Ньютона по сравнению с полиномом Лагранжа.

Формулу для полинома Ньютона (6.10) можно переписать в следующем виде:

В данном случае базис состоит из функций вида

,

В этом случае ck = y(x0, x1,..., xk), После вычисления коэффициентов ck, значения полинома Ньютона в точке x удобно вычислять по схеме Горнера

Pn(x) = y0 + (x – x0)[y(x0, x1) + (x - x1)[y(x0, x1, x2) + …]].

Вычисление значений x полинома Pn(x) (после вычисления ck) требует n умножений и 2n сложений (или вычитаний), т.е. Q = 3n.

На практике избегают пользоваться интерполяционными многочленами высоких степеней. Объясняется это тем, что с ростом числа узлов сетки погрешность интерполирования f(x) – Ln(x) может не только не уменьшаться, но и в некоторых случаях постепенно расти с увеличением n. В этом случае говорят, что интерполяционный процесс расходится. Например, последовательность многочленов Ньютона, построенных для непрерывной функции f(x) = x на отрезке [-1, 1] не сходится к функции f(x) = x ни в одной точке отрезка [-1, 1] кроме точек –1, 0, 1. Поэтому более предпочтительной является интерполяция сплайнами, к рассмотрению которой мы переходим.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: