Вычисление значений функции для значений аргументов, лежащих в начале таблицы, удобно проводить, пользуясь первой интерполяционной формулой Ньютона. В этом случае интерполяционный многочлен представляют в виде:
при этом неизвестные значения коэффициентов a0, a1, a2, …, an вычисляют по формуле
(i = 0, 1, 2, …, n), (4)
то есть
при i = 0 , [0!=1, Δ0y0 = y0],
при i = 1 = ,
при i = 2 = , и т. д.
Обратите внимание, что . (5)
После подстановки найденных коэффициентов ai в выражение (3), получают первую интерполяционную формулу Ньютона:
(6)
Пример.
Используя первую интерполяционную формулу Ньютона, построить интерполяционный многочлен для функции, заданной таблицей (табл. 1). При составлении таблицы конечных разностей контролировать правильность вычислений.
Таблица 1
xi
yi
8,5
10,5
12,0
13,5
14,5
15,5
Решение.
○Степень многочлена определяется порядком конечных разностей, т.е. для рассматриваемого примера интерполяционный многочлен будет иметь вид
Вычисление конечных разностей, значений коэффициентов интерполяционного многочлена (особенно высокого порядка), а также значений функции для заданных значений аргументов удобно выполнять в электронной таблице (рис. 1), так как «вручную» выполнять подобные вычисления долго и утомительно.
Режим вычислений
Рис. 1
В верхнюю часть таблицы следует ввести исходные данные: значение шага интерполяции h, который по условию равен 1, значения аргумента x и соответствующие им значения функции f(x), а также значение аргумента x=2,5, для которого требуется вычислить значение заданной функции, с помощью построенного интерполяционного многочлена.
Реализация вычисления конечных разностей выполняется, как показано в таблице. Значения конечных разностей и значение f(x0), которые будут использованы в вычислениях по формуле (2), выделены в таблице полужирным начертанием. Правильность полученных конечных разностей подтверждают результаты вычислений, выполненные по формуле (2) (в ячейках D11 и С12, Е11 и D12 и т.д.).
Вычисление коэффициентов интерполяционной формулы (7) целесообразно выполнять, используя свойство (5)
,
а именно:
i = 0
i = 1
i = 2 (9)
i = 3
I = 4
i = 5 = .
Для этого в блоке ячеек В16:В20 реализовано вычисление промежуточных значений коэффициентов таким образом, чтобы каждый последующий элемент столбца получался из предыдущего, умножением на . Это позволит при необходимости легко настраивать полученную таблицу на решение задач любой размерности.
В блоке ячеек D16:D20 вычисляются значения коэффициентов интерполяционного многочлена a0, a1, …, a5 (8), путем умножения значений f(x0), и конечных разностей, полученных в блоке С5: H5 на соответствующие им значения промежуточных коэффициентов (В16:В20).
В соответствии с (7), каждый коэффициент a1, a2, a3, a4, a5 соответственно требуется умножить на (x –x0), (x –x0)(x- x1), (x –x0)(x- x1)(x-x2), (x –x0)(x- x1)(x-x2)(x –x3) (x-x4). Поэтому в блоке ячеек I5: I10 предусмотрено вычисление значений (x-xi), которые затем используются для вычисления их произведений в блоке Н16:Н20, причем каждый последующий элемент получается из предыдущего.
В блоке ячеек I15: I20 выполняется вычисление значений каждого члена интерполяционного многочлена, просуммировав которые получается значение интерполяционного многочлена для x=2,5.
Таким образом, получено выражение интерполяционного многочлена:
Значение F(x) при x =2,5 при ручном счете и вычислениями в Excel совпадают.
На рис. 2 показана таблица, представленная в режиме формул, в которой алгоритм описанных вычислений становится более наглядным.
Режим формул
Рис. 2.
При использовании электронных таблиц не представляет сложности вычисление значений многочлена для других значений х. Для этого достаточно в ячейке I2 изменить значение х, и мгновенно получим новое значение многочлена. Так же быстро можно изменить исходные значения аргумента х и соответствующие им значения функции y. Для этого в блоки ячеек В5:В10 и С5:С10 – следует ввести новые значения.
Заполнять таблицу тоже достаточно просто, если разумно использовать абсолютную и относительную адресацию ячеек, на которые делаются ссылки в формулах, т.е. применять автозаполнение столбцов и строк. Настроить таблицу на построение многочленов более высоких порядков тоже не сложно, вставив в нужном месте нужное количество строк и столбцов и заполнить нужные ячейки автозаполнением.●