插值与拟合
插值:求过已知有限个数据点的近似函数。
拟合:已知有限个数据点,求近似函数,可不过已知数据点,只要求在某种意义
下它在这些点上的总偏差最小。
拟合来找关系、做预测
插值问题不一定得到近似函数的表达式
拟合:
代码如下
clear
clc
x=[19, 25, 31,38,44]';
y=[19.0 32.3 49.0 73.3 97.8]';
r=[ones(5,1),x.^2];
x0=19:0.1:44;
a=polyfit(x,y,2);
y0=polyval(a,x0);
plot(x,y,'o',x0,y0,'-');
插值:
一维插值:
x=[0 3 5 7 9 11 12 13 14 15];
y=[0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6];
x0=0:0.1:16;
y0=interp1(x,y,x0,'spline');
plot(x,y,'o',x0,y0,'r')
二维插值:
x0=[1200:400:4000];
y0=[1200:400:3600];
z0=[1130 1250 1280 1230 1040 900 500 700;
1320 1450 1420 1400 1300 700 900 850;
1390 1500 1500 1400 900 1100 1060 950;
1500 1200 1100 1350 1450 1200 1150 1010;
1500 1200 1100 1550 1600 1550 1180 1070;
1500 1550 1600 1550 1600 1600 1600 1550;
1480 1500 1550 1510 1430 1300 1200 980];
[xi,yi]=meshgrid(1200:10:4000,1200:10:3600);
zil=interp2(x0,y0,z0,xi,yi,'linear')%双线性插值
meshc(xi,yi,zil)%网格化+等高线