数据插值和曲线拟合
数据插值
数据插值调用方法
y1=interp1(X,Y,x1,method)
一维插值函数
根据X,Y计算在x1处的值,X,Y是一直向量,x1表示要插值的点。
method是插值实现的方法,方法不同结果不同。越往后越平滑
Z1=interp2(X,Y,X1,Y1,method)
二维插值函数
基本与一维相同。
零件加工问题
绘制x-y的散点图:
可见散点过分稀疏,这就需要插值函数来使曲线平滑。
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];
x1=0:0.1:15;%x每改变0.1就插一个值
y1=interp1(x,y,x1,'spline');
plot(x1,y1)
曲线拟合
曲线拟合调用方法
P=polyfit(X,Y,m)
[P,S]=polyfit(X,Y,m)
[P,S,mu]=polyfit(X,Y,m)
根据样本数据XY产生一个m次多项式
人口预测问题
x=1790:10:2010;
y=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 63.0 76.0 92.0 105.7 122.8 131.7 150.7 179.3 203.2 226.5 248.7 281.4 308.7];
plot(x,y,'*');
p=polyfit(x,y,3);
polyval(p,2020)
plot(x,y,'*',x,polyval(p,x))