MATLAB一维插值

  • 插值函数:interp1,调用方法: yk =interp1(x,y,xk,‘method’)
  • 注意:interp1的最后一个是数字 '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

插值结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41365597/article/details/90714352
今日推荐