1、第一,演示邻近点插值Nearest,线性插值Linear,三次样条插值Spline和立方插值Pchip,启动MATLAB,新建脚本(Ctrl+N),输入如下代码:close all; clear all; clcx=0:0.5:2*pi; y=sin(x);%-1---Nearest interpolation---%figure('Position',[50,50,500,400],'Name','Nearest')x1=0:0.1:2*pi;y1=interp1(x,y,x1,'Nearest');plot(x,y,'.','color','r','MarkerSize',20);hold on;plot(x1,y1,'.','color','b','MarkerSize',10);hold off;xlabel('x','fontsize',20);ylabel('y','fontsize',20);%-2---Linear interpolation---%figure('Position',[100,100,500,400],'Name','Linear')x2=0:0.1:2*pi;y2=interp1(x,y,x1,'Linear');plot(x,y,'.','color','r','MarkerSize',20);hold on;plot(x2,y2,'.','color','b','MarkerSize',10);hold off;xlabel('x','fontsize',20);ylabel('y','fontsize',20);%-3---Spline interpolation---%figure('Position',[150,150,500,400],'Name','Spline')x3=0:0.1:2*pi;y3=interp1(x,y,x1,'Spline');plot(x,y,'.','color','r','MarkerSize',20);hold on;plot(x3,y3,'.','color','b','MarkerSize',10);hold off;xlabel('x','fontsize',20);ylabel('y','fontsize',20);%-4---Pchip interpolation---%figure('Position',[200,200,500,400],'Name','Pchip')x4=0:0.1:2*pi;y4=interp1(x,y,x1,'Pchip');plot(x,y,'.','color','r','MarkerSize',20);hold on;plot(x4,y4,'.','color','b','MarkerSize',10);hold off;xlabel('x','fontsize',20);ylabel('y','fontsize',20);该脚本借助一元函数y=sin(x)分别演示了邻近点插值Nearest,线性插值Linear,三次样条插值Spline和立方插值Pchip,(x,y)为原函数的点,(x1,y1),(x2,y2),(x3,y3)和(x4,y4)分别为Nearest,Linear,Spline和Pchip四种插值方法插值后函数的点。
2、第二,保存和运行上述脚本,得到Figure 1 邻近点插值(Nearest)的图像。红点表示y=sin(x)一元函数原有的点,蓝点表示邻近点插值(Nearest)后的点。
3、第三,得到Figure 2 线性插值(Linear)的图像。红点表示y=sin(x)一元函数原有的点,蓝点表示线性插值(Linear)后的点。
4、第四,得到Figure 3 三次样条插值(Spline)的图像。红点表示y=sin(x)一元函数原有的点,蓝点表示三次样条插值(Spline)后的点。
5、第五,得到Figure 4 立方插值(Cubic)的图像。红点表示y=sin(x)一元函数原有的点,蓝点表示立方插值(Cubic)后的点。