dreamsyeah
%分别用分段线性插值、此次方程式插值和样条插值确定插值函数并进行比较
%月儿半弯 
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

 
结果如下所示:  
MATLAB实现多项式插值函数 <wbr>【例】

分类:

技术点:

相关文章: