Как и в случае (5.8), для получения рабочей формулы Ньютона необходимо определить значения коэффициентов ai. В отличие от технологии расчета (5.9) для построения интерполяционного многочлена Ньютона вводится рабочий аппарат в виде так называемых конечных разностейдля системы равноотстоящих интерполяционных узлов и в виде разностных отношений (разделенные разности) для произвольной системы узлов.
Пусть заданны равноотстоящие узлы xk= x0 + kh, h = xi+1 – xi= const > 0. Значения f(x) в них обозначим f(xk) = fk= yk, k = .
Конечными разностями первого порядка принято называть величины
D f(xi) = Dfi = fi+1 – fi; i = .
Конечные разности второго порядка определяются равенствами
; i = .
Конечные разности (k + 1)-го порядка определяются через разности k-го порядка:
; i = ; k = . (5.18)
Конечные разности, как правило, вычисляются по схеме, представленной в табл. 5.1.
Каждая последующая конечная разность получается путем вычитания в предыдущей колонке верхней строки из нижней строки. Последняя колонка Dkfi будет равна нулю. Заметим, что конечные разности можно выразить непосредственно через значения функций.
Так, для i-го узла рабочая формула имеет вид
Dkfi= ; i = ; k = 1, 2, ... . (5.19)
Таблица 5.1
i
fi
Dfi
D2fi
D3fi
…
f0
Df0
f1
D2f0
Df1
D3f0
f2
D2f1
Df2
D3f1
f3
D2f2
Df3
D3f2
f4
D2f3
…
…
…
…
…
…
Разностными отношениями (разделенными разностями) первого порядка называются величины
f(x0, x1) = f(x1, x2) = ; ... ,
где xi – произвольные узлы с соблюдением приоритетности по величине.
По этим соотношениям составляются разностные отношения второго порядка:
f(x0, x1, x2) = ; f(x1, x2, x3) =; … .
Разделенные разности порядка (k + 1), k = 1, 2, ..., определяются при помощи разделенных разностей предыдущего порядка k по формуле
f(x0, x1, …, xk+1) = . (5.20)
Разностные отношения вычисляются по схеме, представленной в табл. 5.2.
Таблица 5.2
i
xi
fi
f(xi, xi+1)
f(xi, xi+1, xi+2)
…
x0
f0
f(x0, x1)
x1
f1
f(x0, x1, x2)
f(x1, x2)
x2
f2
f(x1, x2, x3)
f(x2, x3)
x3
f3
f(x2, x3, x4)
...
…
…
…
…
…
Для равноотстоящих узлов xk= x0 + kh (k = ) имеет место соотношение между разделенными и конечными разностями:
f(x0, x1, …, xk) = k = 0, 1, 2, ... . (5.21)
Конечная разность и разделенная разность порядка n от многочлена степени (n) равны постоянной величине и, следовательно, они для более высокого порядка равны нулю.
Интерполяционный многочлен Ньютона для системы равноотстоящих узлов. В случае равностоящих узлов имеется много различных формул, построение которых зависит от расположения точки интерполирования хТ по отношению к узлам интерполирования.
Пусть функция f(x) задана таблицей значений fk= f(xk) = yk в узлах xk= x0 + kh (k = ), h = xk+1 – xk= const.
На основании условий (5.3) и аппарата конечных разностей для определения коэффициентов для искомого многочлена (5.17) получена формула
, k = ; при условии, что D0 = 1; 0! = 1. (5.22)
Подставив (5.22) в (5.17), получим формулу Ньютона для интерполирования в начале таблицы:
(5.23)
При этом конечные разности определяются или по схеме (см. табл. 5.1) или по формуле для произвольного узла (5.19).
Для практического удобства формула (5.23) часто записывают в другом виде. Вводится новая переменная t = (x – x0)/h. Тогда
x = x0 + kh; ;
, …,
и (5.23) примет вид
N(x0 + th) = y0 + t. (5.24)
Выражение (5.24) может аппроксимировать y = f(x) на всем отрезке [x0, xn]. Однако с точки зрения повышения точности расчетов и уменьшения числа членов в (5.24) рекомендуется ограничиться случаем t < 1, т. е. использовать формулу (5.24) для интервала x0 £ x £ x1.
Для других значений аргумента, например для x1 £ x £ x2, вместо x0 лучше взять значение x1. Тогда (5.24) можно записать в виде
N(xi+ th) = yi+ ; i = 0, 1, … . (5.25)
Выражение (5.25) называется первыминтерполяционным многочленомНьютона для интерполирования вперед. Он используется для вычисления значений функций в точках левой половины рассматриваемого отрезка. Это объясняется тем, что разности Dkyi вычисляются через значение функции yi, yi+1, ..., yi+k, причем i + k £ n. Поэтому при больших значениях i нельзя вычислить значения разностей высших порядков (k £ n – i). Например, при i = n – 3 в (5.25) можно учесть только Dy, D2y, D3y.
Для правой половины отрезка разности рекомендуется вычислять справа налево. В этом случае t = (x – xn) / h, т. е. t < 0 и (5.25) можно получить в виде
N(xn+ th) = yn+ . (5.26)
Полученная формула называется вторыминтерполяционным многочленом Ньютонадля интерполирования назад. Для интерполирования в середине отрезка можно использовать интерпретации многочлена Ньютона – это многочлены Стирлинга, Гаусса, Бесселя.
Погрешность метода Ньютона:
,
при t =; x – принадлежит отрезку.
Пример 5.1. Вычислить значение функции y = f(x), заданной таблицей в точках x = 0,1 и x = 0,9.
Строим табл. 5.1 для конечных разностей:
x
y = f(x)
Dу
D2у
D3у
D4у
D5у
1,2715
1,1937
0,2
2,4652
–0,0146
1,1791
0,0007
0,4
3,6443
–0,0139
–0,0001
1,1652
0,0006
0,0000
0,6
4,8095
–0,0133
–0,0001
1,1919
0,0005
0,8
5,9614
–0,0128
1,1391
7,1005
Используя для расчета верхние значения конечных разностей, получим при x = 0,1 значение t = (x – x0)/h = (0,1 – 0) / 0,2 = 0,5. По формуле (5.24):
f(0,1) N(0,1) = 1,2715 + 0,5 ´
´ 1,1937 +
+ .
По формуле линейной интерполяции f(0,1) » 1,8684; D = {0,0018}.
Значение функции в точке x = 0,9 вычислим по формуле (5.26). В данном случае t = (x – xn) / h = (0,9 – 1) / 0,2 = –0,5. Используя нижние значения конечных разностей, получим
f(0,9) » N(0,9) = 7,1005 – 0,5 × 1,1391 –
–
–.
Если считать по (5.24) f(0,9) = 6,532522641.
Линейная интерполяция f(0,9) = 6,53095; D = {0,00155}.
Интерполяционный многочлен Ньютона для системы произвольно расположенных узлов. Данный многочлен строится с помощью аппарата разделенных разностей (табл. 5.2) в виде (5.17) на основании имеющего места соотношения (5.21):
При n = 1 – это линейная интерполяция, при n = 2 – квадратичная.
Замечания:
1. Разные способы построения многочленов Лагранжа и Ньютона дают тождественные рабочие формулы при заданной таблице f(x). Это следует из единственности интерполяционного многочлена заданной степени на упорядоченной системе узлов.
2. Повышение точности интерполирования предположительно проводить за счет увеличения числа узлов n и соответственно степени полинома Pn(x). Однако при таком подходе увеличивается погрешность из-за роста | f (n)(x) | и, кроме того, увеличивается вычислительная погрешность.
Эти соображения приводят к другому способу приближения функций с помощью сплайнов (рассмотрено в подразд. 5.5).
3. Повышение точности интерполирования осуществляется и посредством специального расположения узлов интерполяции на рассматриваемом отрезке [a, b] области определения функции f(x). Известно, что если сконцентрировать узлы xi вблизи одного конца отрезка [a, b], то погрешность Rn(x) при длине отрезка l = b – a > 1 будет велика в точках xi близких к другому концу. Поэтому всегда возникает задача о наиболее рациональном выборе xi(при заданном числе узлов n).
Эта задача была решена Чебышевым, т. е. оптимальный выбор узлов нужно производить по формуле
xi= ,
где (i = 0, 1, 2, ..., n) нули полинома Чебышева Tn+1(x).
Пример 5.2. Найти значение y = f(x) при x = 0,4, заданной таблично:
i
xi
0,1
0,3
0,5
yi
–0,5
0,2
Локальная интерполяция. Рассмотрим два вида локальной интерполяции – линейную и квадратичную.