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

数据插值

数据插值调用方法

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

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章