matlab5——数据分析与多项式计算(三)数据插值和曲线拟合

数据插值和曲线拟合

  • 数据插值
    • 数据插值调用方法
      • `y1=interp1(X,Y,x1,method)`一维插值函数
      • `Z1=interp2(X,Y,X1,Y1,method)`二维插值函数
    • 零件加工问题
  • 曲线拟合
    • 曲线拟合调用方法
    • 人口预测问题

数据插值

数据插值调用方法

y1=interp1(X,Y,x1,method)一维插值函数

根据X,Y计算在x1处的值,X,Y是一直向量,x1表示要插值的点。

method是插值实现的方法,方法不同结果不同。越往后越平滑
matlab5——数据分析与多项式计算(三)数据插值和曲线拟合_第1张图片
matlab5——数据分析与多项式计算(三)数据插值和曲线拟合_第2张图片

Z1=interp2(X,Y,X1,Y1,method)二维插值函数

基本与一维相同。

零件加工问题

matlab5——数据分析与多项式计算(三)数据插值和曲线拟合_第3张图片
绘制x-y的散点图:
matlab5——数据分析与多项式计算(三)数据插值和曲线拟合_第4张图片
可见散点过分稀疏,这就需要插值函数来使曲线平滑。

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)

matlab5——数据分析与多项式计算(三)数据插值和曲线拟合_第5张图片

曲线拟合

曲线拟合调用方法

  • P=polyfit(X,Y,m)
  • [P,S]=polyfit(X,Y,m)
  • [P,S,mu]=polyfit(X,Y,m)
    根据样本数据XY产生一个m次多项式

人口预测问题

matlab5——数据分析与多项式计算(三)数据插值和曲线拟合_第6张图片

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))

matlab5——数据分析与多项式计算(三)数据插值和曲线拟合_第7张图片

你可能感兴趣的:(MATLAB,matlab,数据插值,曲线拟合,程序人生,经验分享)