%月儿半弯
x=0:10;
y=cos(x);
xi=0:.25:10;
y0=cos(xi);
%精确值 y1=interp1(x,y,xi); %线性插值结果
y2=interp1(x,y,xi,'cubic'); %三次方程式插值结果
y3=interp1(x,y,xi,'spline'); %样条插值结果
subplot(2,2,1);
plot(xi,y0,'or',xi,y1,xi,y2,'-.b',xi,y3,'*g');
title('interp1 一维插值');
xlabel('x');
ylabel('y');
axis([1 10 -2 2])
legend('y1','y2','y3');
grid
%原图与线性插值的差图结果
subplot(2,2,2);
plot(xi,y0-y1);
axis([1 10 -0.2 0.2])
title('原图与线性插值的差图结果');
grid
%原图三次方程式插值的差图结果
subplot(2,2,3);
plot(xi,y0-y2);
axis([1 10 -0.2 0.2])
title('原图与三次方程式插值的差图结果');
grid
%原图样条插值的差图结果
subplot(2,2,4);
plot(xi,y0-y3);
axis([1 10 -0.2 0.2])
title('原图与样条插值的差图结果');
grid