Вторая интерполяционная формула Ньютона
Когда значение аргумента находится ближе к концу отрезка интерполяции, используется вторая интерполяционная формула Ньютона, которая получается, если отыскивать интерполяционный полином в виде:
. (5.19)
Коэффициенты полинома (5.19), находятся из условия совпадения значений функции и интерполяционного многочлена в узлах:
. (5.20)
Подставив (5.20) в (5.19) и перейдя к переменной , получим окончательный вид интерполяционной формулы Ньютона, используемой при ручных вычислениях:
. (5.21)
В пакете MATLAB решение задачи о нахождении значений интерполяционного полинома находится выполнением следующей последовательности действий.
1. Создать файл Newton2.m, содержащий описание функции, возвращающей локальное значение интерполяционного полинома Ньютона
% листинг файла Newton2.m
function z=Newton2(t,x,y)
N=length(x);
for i=1:N
f(i,1)=y(i);
End;
for k=2:N
for i=1:N-k+1
f(i,k)=(f(i+1,k-1)-f(i,k-1))/(x(i+k-1)-x(i));
End;
End;
s=y(1);
for k=1:N
r=1;
for i=1:k-1
r=r*(t-x(N-i));
End;
s=f(N-k,k)*r+s
End;
z=s;
2. Задать табличные значения интерполируемой функции
>> N=8;
>> i=1:N;
>> x(i)=2*pi/(N-1)*(i-1);
>> y=sin(x);
3. Задать значения абсцисс точек, в которых вычисляется значение интерполяционного полинома
>> M=1000;
>> j=1:M;
>> X(j)=2*pi/(M-1)*(j-1);
>> Y=sin(X); % вычисление точных значений интерполируемой функции
4. Вычислить значения полинома Ньютона в узлах заданной координатной сетки
>> for k=1:M
Z(j)=Newton1(X(j),x,y);
End;
5. Построение разности между точным и интерполированными значениями функции (рис. 5.5)
>> plot(X,Y-Z)
Рис. 5.5. Разность между точным и интерполированными значениями функции с помощью второго полинома Ньютона
Дата добавления: 2015-08-21; просмотров: 1201;