function yi=Newton(x,y,xi)
%Newton插值方法,给定一系列的点(x,y),得到在x=xi处的,牛顿插值多项的值yi
n=length(x);
A=zeros(n); %定义差商表
A(:,1)=y; %差商表第一列为y
for i=2:n
A(i,2)=(A(i,1)-A(i-1,1))/(x(i)-x(i-1));
end
for j=3:n %j为列标
for i=j:n %i为行标
A(i,j)=(A(i,j-1)-A(i-1,j-1))/(x(i)-x(1)); %计算差商表
end
end
%根据差商表,求对应的牛顿插值多项式在x=xi处的值yi
N(1)=A(1,1);
for j=2:n
T=1;
for i=1:j-1
T=T*(xi-x(i));
end
N(j)=A(j,j)*T;
end
yi=sum(N); %将x=xi带入牛顿插值多项式,得到的yi的值
end
牛顿插值算法MATLAB实现
最新推荐文章于 2022-06-29 13:12:34 发布