官术网_书友最值得收藏!

4.3 數據擬合

與數據插值類似,數據擬合的目的也是用一個較為簡單的函數gx)去逼近一個未知的函數fx)。利用已知測量的數據(xiyi)(i=1,2,…,n),構造函數y=gx),使得誤差δi=gxi)﹣fxi)(i=1,2,…,n)在某種意義上達到最小。

一般用得比較多的是多項式擬合,所謂多項式擬合是利用已知測量的數據(xiyi)(i=1,2,…,n),構造一個mmn)次多項式px):

使得擬合多項式在各采樣點處的偏差的平方和最小。

在MATLAB中,用polyfit函數可以實現最小二乘意義的多項式擬合。polyfit擬合函數求的是多項式的系數向量。該函數的調用格式為

其中,p為最小二乘意義上的n階多項式系數向量,長度為n+1;x和y為數據點向量,要求是等長的向量;S為采樣點的誤差結構體,包括R、df和normr分量,分別表示對x進行QR分解為三角元素、自由度和殘差。

【例4-14】 在MATLAB中,用polyfit函數實現一個4階和5階多項式,在區間[0,3π]內逼近函數fx)=e﹣0.5xsinx,利用繪圖的方法,比較擬合的4階多項式、5階多項式和fx)的區別。

程序代碼如下:

程序運行結果如下,圖4-6是4階多項式和5階多項式擬合fx)函數的比較結果。

圖4-6 4階多項式和5階多項式擬合f(x)函數

由上述例題結果可知,用高階多項式擬合fx)函數的效果更好,誤差小,更加逼近實際函數fx)。

主站蜘蛛池模板: 厦门市| 马尔康县| 隆昌县| 沾化县| 内丘县| 遵义市| 鞍山市| 深圳市| 理塘县| 新龙县| 高台县| 平湖市| 惠州市| 丹寨县| 漾濞| 丹江口市| 大厂| 彰化县| 深州市| 乌兰察布市| 连州市| 赣州市| 浙江省| 隆德县| SHOW| 怀远县| 灯塔市| 白朗县| 宁南县| 临沭县| 晋州市| 吴旗县| 兰溪市| 阳山县| 凉山| 揭西县| 红桥区| 聊城市| 九龙县| 卢龙县| 静海县|