cazhi.m

来自「各种插值方法的效果比较 线性内插法」· M 代码 · 共 33 行

M
33
字号

%  题目:
%  假设一曲线采样点为 
%  x = 0:2:4*pi;y = sin(x).*exp(-x/5); 
%  试将 x 的间距调成 0.1,并用下列方法进行内插: 
%  1) 线性内插法 (method='linear')。 
%  2) Spline 内插法 (method='spline')。 
%  3) 三次多项式内插法 (method='cubic')。 
%  4) 多项式拟合法:直接利用 6 次多项式去通过 7 个采样点。 
%  请将这些内插的结果及原先的采样点画在同一个图

x = 0:2:4*pi;
y = sin(x).*exp(-x/5); 
x1=0:0.1:4*pi;
y1=interp1(x,y,x1,'linear');
y2=interp1(x,y,x1,'spline');
y3=interp1(x,y,x1,'cubic');
p=polyfit(x,y,6);
y4=polyval(p,x1);
subplot(2,2,1)
plot(x1,y1,'.-');
subplot(2,2,2)
plot(x1,y2,'.-');
subplot(2,2,3)
plot(x1,y3,'.-');
subplot(2,2,4)
plot(x,y,'^',x1,y4,'-r.');
title('多项式拟合');
xlabel('x轴');
ylabel('y轴');
text(1.8,0.8,'六次多项式拟合曲线');
text(2.3,0.6,'采样点');
legend('七个采样点','拟合曲线')

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?