运行环境 matlab2015a
clc
clearx=[0.0,0.1,0.2,0.3,0.4];
y=[0.5000,0.5398,0.5793,0.6179,0.7554];
n=5;
a=zeros(n-1);
f=zeros(n-1,1);
tic
for i=2:n
a(1,i)=(y(i)-y(i-1))/(x(i)-x(i-1));
end
for i=2:n-1
for j=i+1:n
a(i,j)=(a(i-1,j)-a(i-1,j-1))/(x(j)-x(j-i));
end
end
a=a';
for i=1:n-1
f(i)=a(i+1,i);
end %差商求法
x0=0:0.01:0.39;
n=zeros(1,40);
for i=1:40
n(i)=y(1);
end
for i=1:4
sign=ones(1,40);
for j=1:i
sign=sign.*(x0-x(j));
end
n=n+f(i).*sign;
end %newton插值
toc