資料處理:插值與擬合
插值
的定義是:
在離散資料的基礎上補插連續函式,使得這條連續曲線透過全部給定的離散資料點。
插值是離散函式逼近的重要方法,利用它可透過函式在有限個點處的取值狀況,估算出函式在其他點處的近似值。
資料擬合又稱曲線擬合
,俗稱
拉曲線
,是一種把現有資料透過數學方法來代入一條數式的表示方式
共同點
:基於對現有資料進行預測、推演(都是根據近似函式經過所已知資料來構造一個能夠反映資料變化規律的近似函式)
不同點
:插值不一定得到近似函式的表達形式,僅透過插值方法找到未知點對應的值。擬合要求得到一個具體的近似函式的表示式
插值問題
:要求近似函式經過所已知的所有資料點(不需要函式表示式)
判斷:當資料量不夠,但已知資料可信,需要補充資料
擬合問題
:不要近似函式經過所有資料點,而是要求它能夠較好地反映資料變化規律
判斷:資料夠用,需要尋找因果變數之間的數量關係(推斷出表示式),從而對未知的情形做出預判
一、 資料插值
插值函式型別:
(1)拉格朗日插值(lagrange插值)
(2)分段線性插值(區域性插值)
(3)Hermite
(4)三次樣條插值
插值誤差:逐點誤差、最大模誤差。插值的好壞往往透過某些區域性的性質來體現,比如龍格現象或吉布斯振盪。
Matlab插值函式實現:
(1) interp1( ) 一維插值
(2) interp2( ) 二維
(3) intern( ) n維
二、 資料擬合
最小二乘法:是要求擬合函式與原始資料的均方誤差達到極小,是一種整體意義的逼近,對區域性性質沒有要求。
多項式函式擬合:
a=polyfit(xdata,ydata,n)
其中n表示多項式的最高階數,xdata,ydata為將要擬合的資料,它是用陣列的方式輸入.輸出引數a為擬合多項式 的係數 ,相對應的次數為由高到低。
多項式在x處的值y可用下面程式計算。
y=polyval(a,x)
有了x和y就可以把擬合的圖形畫出來,並且同時與原圖對比
plot(xdata,ydata,x,y)
一般的曲線擬合:
p=curvefit(‘Fun’,p0,xdata,ydata)
其中Fun表示函式Fun(p,data)的M函式檔案,p0表示函式的初值.curvefit()命令的求解問題形式是
若要求解點x處的函式值可用程式f=Fun(p,x)計算。
例如已知函式形式 ,並且已知資料點 要確定四個未知引數a,b,c,d.
使用curvefit命令,資料輸入 ;初值輸 ;並且建立函式 的M檔案(Fun.m).若定義 ,則輸出曲線擬合實驗圖