- 插值函数:interp1,调用方法: yk =
interp1
(x,y,xk,‘method’) - 注意:interp
1
的最后一个是数字 '1 ‘,不是字母’ l ’
例子:
% 读取数据
a = load('data.txt');
x = a(:,1)
y = a(:,2)
xi = linspace(min(x),max(x),100);
% 插值
yl = interp1(x,y,xi,'linear'); %线性插值
yc = interp1(x,y,xi,'cubic'); %三次插值
yn = interp1(x,y,xi,'nearest'); %邻近插值
ys = interp1(x,y,xi,'spline'); %三次样条插值
yp = interp1(x,y,xi,'pchip'); %立方插值
% 画图
plot(x,y,'ro',xi,yl,xi,yc,xi,yn,'--',xi,ys,'m',xi,yp) % m表示品红
legend('true','cubic','linear','nearest','spline','pchip')
title('interp1函数的使用')
% 保存图片
saveas(gcf,'interp1.tiff') % gcf 表示当前图像
data.txt
1 93
30 96
60 84
90 84
120 48
150 38
180 51
210 57
240 40
270 45
300 50
330 75
360 80
390 60
420 72
450 67
480 71
510 7
540 74
570 63
600 69
插值结果