資源描述:
《曲線擬合與插值》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第11章曲線擬合與插值在大量的應(yīng)用領(lǐng)域中,人們經(jīng)常面臨用一個解析函數(shù)描述數(shù)據(jù)(通常是測量值)的任務(wù)。對這個問題有兩種方法。在插值法里,數(shù)據(jù)假定是正確的,要求以某種方法描述數(shù)據(jù)點之間所發(fā)生的情況。這種方法在下一節(jié)討論。這里討論的方法是曲線擬合或回歸。人們設(shè)法找出某條光滑曲線,它最佳地擬合數(shù)據(jù),但不必要經(jīng)過任何數(shù)據(jù)點。圖11.1說明了這兩種方法。標(biāo)有'o'的是數(shù)據(jù)點;連接數(shù)據(jù)點的實線描繪了線性內(nèi)插,虛線是數(shù)據(jù)的最佳擬合。11.1曲線擬合曲線擬合涉及回答兩個基本問題:最佳擬合意味著什么?應(yīng)該用什么樣的曲線?可用許多不同的方法定義最佳擬合,并存在無窮數(shù)目的曲線。
2、所以,從這里開始,我們走向何方?正如它證實的那樣,當(dāng)最佳擬合被解釋為在數(shù)據(jù)點的最小誤差平方和,且所用的曲線限定為多項式時,那么曲線擬合是相當(dāng)簡捷的。數(shù)學(xué)上,稱為多項式的最小二乘曲線擬合。如果這種描述使你混淆,再研究圖11.1。虛線和標(biāo)志的數(shù)據(jù)點之間的垂直距離是在該點的誤差。對各數(shù)據(jù)點距離求平方,并把平方距離全加起來,就是誤差平方和。這條虛線是使誤差平方和盡可能小的曲線,即是最佳擬合。最小二乘這個術(shù)語僅僅是使誤差平方和最小的省略說法。圖11.12階曲線擬合在MATLAB中,函數(shù)polyfit求解最小二乘曲線擬合問題。為了闡述這個函數(shù)的用法,讓我們以上面圖1
3、1.1中的數(shù)據(jù)開始。?x=[0.1.2.3.4.5.6.7.8.91];?y=[-.4471.9783.286.167.087.347.669.569.489.3011.2];為了用polyfit,我們必須給函數(shù)賦予上面的數(shù)據(jù)和我們希望最佳擬合數(shù)據(jù)的多項式的階次或度。如果我們選擇n=1作為階次,得到最簡單的線性近似。通常稱為線性回歸。相反,如果我們選擇n=2作為階次,得到一個2階多項式。現(xiàn)在,我們選擇一個2階多項式。?n=2;%polynomialorder?p=polyfit(x,y,n)p=-9.810820.1293-0.0317polyfit的輸
4、出是一個多項式系數(shù)的行向量。其解是y=-9.8108x2+20.1293x-0.0317。為了將曲線擬合解與數(shù)據(jù)點比較,讓我們把二者都繪成圖。?xi=linspace(0,1,100);%x-axisdataforplotting?z=polyval(p,xi);為了計算在xi數(shù)據(jù)點的多項式值,調(diào)用MATLAB的函數(shù)polyval。?plot(x,y,'o',x,y,xi,z,':')畫出了原始數(shù)據(jù)x和y,用'o'標(biāo)出該數(shù)據(jù)點,在數(shù)據(jù)點之間,再用直線重畫原始數(shù)據(jù),并用點':'線,畫出多項式數(shù)據(jù)xi和z。?xlabel('x'),ylabel('y=f(x
5、)'),title('SecondOrderCurveFitting')將圖作標(biāo)志。這些步驟的結(jié)果表示于前面的圖11.1中。多項式階次的選擇是有點任意的。兩點決定一直線或一階多項式。三點決定一個平方或2階多項式。按此進(jìn)行,n+1數(shù)據(jù)點唯一地確定n階多項式。于是,在上面的情況下,有11個數(shù)據(jù)點,我們可選一個高達(dá)10階的多項式。然而,高階多項式給出很差的數(shù)值特性,人們不應(yīng)選擇比所需的階次高的多項式。此外,隨著多項式階次的提高,近似變得不夠光滑,因為較高階次多項式在變零前,可多次求導(dǎo)。例如,選一個10階多項式?pp=polyfit(x,y,10);?forma
6、tshorte%changedisplayformat?pp.'%displaypolynomialcoefficientsasacolumnans=-4.6436e+0052.2965e+006-4.8773e+0065.8233e+006-4.2948e+0062.0211e+006-6.0322e+0051.0896e+005-1.0626e+0044.3599e+002-4.4700e-001要注意在現(xiàn)在情況下,多項式系數(shù)的規(guī)模與前面的2階擬合的比較。還要注意在最小(-4.4700e-001)和最大(5.8233e+006)系數(shù)之間有7個數(shù)量級的
7、幅度差。將這個解作圖,并把此圖與原始數(shù)據(jù)及2階曲線擬合相比較,結(jié)果如何呢??zz=polyval(pp,xi);%evaluate10thorderpolynomial?plot(x,y,'o',xi,z,':',xi,zz)%plotdata?xlabel('x'),ylabel('y=f(x)'),title('2ndand10thOrdercurveFitting')在下面的圖11.2中,原始數(shù)據(jù)標(biāo)以'o',2階曲線擬合是虛線,10階擬合是實線。注意,在10階擬合中,在左邊和右邊的極值處,數(shù)據(jù)點之間出現(xiàn)大的紋波。當(dāng)企圖進(jìn)行高階曲線擬合時,這種紋波現(xiàn)
8、象經(jīng)常發(fā)生。根據(jù)圖11.2,顯然,‘越多就越好’的觀念在這里不適用。圖11.22