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

在這裏插入圖片描述

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