版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、探索實驗 6曲線擬合法一、 實驗目的了解最小二乘法與曲線擬合問題及用法, 理解并掌握多項式擬合及線性模型曲線擬合算法的構造和計算,學習用計算機求近似函數的一些科學計算方法和簡單的編程技術。二、概念與結論1. 最小二乘法則:設 f為函數 y=f(x) 的一組實驗點( xkf(xk )), k=0,1,2, ,n 組成的,在一個函數集合P中選擇一個函數* (x)作為函數 f(x) 的近似表達式,使n*2nk ( (xk)yk)2( x) y )minkkkk0( x) P k 0這里k >0為已知的一組數值, yk= f(x k)。函數集合 P稱為擬合函數類。2線性模型擬合:*(x) 作為函
2、數 f(x) 的近似函數時,使用的擬合函數類如果用最小二乘法確定函數P是由已知函數0(x) 、 1(x) 、 、 m(x) 的線性組合構成的線性空間P=(x)|(x)= a00(x)+ a 1 1(x)+ a 22(x)+ + ma m(x)=Span 0 , 1 , ,m 中所求出的近似函數。這里已知函數0(x)、1(x) 、 、 m(x) 稱為基函數,它們彼此是線性無關的。3.多項式擬合j (x)=x j ,即 , 擬合函數類是在函數 f(x)的線性擬合中,如果取基函數M =Span1,x , x 2, , xm構成的 m次多項式空間時得到的近似函數。這個擬合函數稱為最小二乘多項式。4.H
3、aar 條件設 0(x)、 1(x) 、 、 m(x) 是閉區(qū)間 a,b 上的連續(xù)函數,如果它們的任意線性組合在點集x j=x j, j=0,1,2, ,n,nm 至多有m 個不同的零點,則稱0(x) 、1(x)、 、m(x)是在點集x j 上滿足 Haar 條件。三、程序中Mathematica語句解釋:1.Plotft,t,a,b, PlotLabel->m"*"畫出帶有變量m 的值和數字串“* ”表識的圖形2. v=Plotft,t,a,b,DisplayFunction->Identity將函數 f(t) 在區(qū)間 a,b 上的圖形文件存在變量v 中,但不
4、畫出該圖形。3. Showv, DisplayFunction->$DisplayFunction將存在變量 v中的圖形文件畫出。4.p=f1x,f2x, ,fnx/->a.x將一組函數值 f1(a),f2(a), ,fn(a)賦值給變量 p四、方法與程序曲線擬合也是函數逼近的重要方法之一, 它是求近似函數的一種方法,有著廣泛的應用。插值法關心插值函數與被插函數在插值節(jié)點上函數值相同,曲線擬合關心的是在數據點上的誤差平方和最小,它可以克服測量數據誤差對確定近似函數的影響。曲線擬合法也有很多種 , 其中常用的有多項式擬合和線性模型擬合。1. 多項式擬合如果擬合函數函數類是一個多項式集
5、合,則稱為多項式擬合, 求出的擬合多項式稱為最小二乘多項式,多項式擬合是最簡單的擬合形式。1/141.1 多項式擬合的構造過程:2+ + am令所求的擬合函數 (x)= a0+ a1x+ a2xmx為確定系數 a0,a1, ,am ,考慮平方和n( xk ) 2nmS(a0 , a1, , am )k ( f (x k )k ( f (x k )ai xk i ) 2k0k 0i 0于是求解歸結為m+1元函數 S(a0,a1 , ,am)的極值問題 ,由多元函數極值的必要條件,有Snmi ) x j2k( f ( x )a xk0a jkikk 0i0j 0,1,n整理后,得mnnaik i
6、(xk )k f (xk ) j ( xk )i 0k 0k 0j0,1, n這是關于 a0,a1, ,am的線性方程組,引進函數內積符號:n( h, g)k h( xk ) g( xk )k 0于是得到如下線性方程組nna0n 1xkx k mnk 0k0a1nnxkxk2xk m 1k0k0k0nnxk m 1nxk mx k2mk0k0k0amnf ( xk )k 0nx k f ( xk )k 0nx k m f (xk )k 0這個線性方程組稱為法方程組或正規(guī)方程組,它的系數矩陣是對稱矩陣,這個方程組是正定方程組,它有唯一解。設此解為a0* ,a1* , ,am* ,則函數*(x)=
7、 a0* + a1* x+ a2* x2+ + am* xm既為所求的多項式擬合。注意到正規(guī)方程組的系數具有規(guī)律,引入符號2/14nsx ii0,1,2,2mikk0nb jxkj f ( xk )j0,1,2, mk0于是正規(guī)方程可以寫為更簡單的形式s0s1sma0b0s1s2sm 1a1b1smsm 1s2mambm1.2 多項式擬合算法:1 輸入 n+1 個擬合點: (xi , yi),i=0,1, ,n2 根據散點圖確定擬合多項式的次數m3計算相應正規(guī)線性方程組的系數和右端項4 解正規(guī)正規(guī)線性方程組,得解:a0*,a1* , ,am*5 寫出擬合多項式*(x)= a0* + a1*x+
8、 a2* x2+ + am* xm1.3 求 m 次多項式擬合程序:Clearxi,xx,yi;xi=Input"xi="yi=Input"yi="n=Lengthxi;h=ListPlotTablexii,yii,i,1,n,PlotStyle->PointSize0.04m=Input" 多項式次數 m="s=TableSumxiki,k,1,n,i,0,2m;a=Tablesi+j-1,i,1,m+1,j,1,m+1;Print"a=",MatrixForma;b=TableSumxiki*yik,k,
9、1,n,i,0,m;Print"b=",MatrixFormb;xx=Tablexi,i,1,m+1;g=Solvea.xx=b,xx;fa=Sumxi*t(i-1),i,1,m+1/.g1;p=fa/Np1=Plotp,t,xi1,xin,DisplayFunction->Identity;Showp1,h,DisplayFunction->$DisplayFunction;說明: 本程序用于求m 次多項式擬合。程序執(zhí)行后,按要求通過鍵盤輸入擬合基點xi: x0 ,x1, . , x n 、對應函數值 yi: y 0 ,y1, , yn 后,計算機給出散點圖和
10、請求輸入擬合多項式次數的窗口, 操作者可以根據散點圖確定擬合多項式的次數通過鍵盤輸入,程序即可給出對應的正規(guī)方程組系數矩陣a、常數項 b、 m 次擬合多項式和由擬合函數圖形和散點圖畫在3/14一起的圖形。程序中變量說明:xi :存放擬合基點 x0 , x 1 , . , x nyi: 存放對應函數值y0 ,y1 , , ynm: 存放擬合多項式次數a: 存放正規(guī)方程組系數矩陣b: 存放正規(guī)方程組常數項p: 存放 m 次擬合多項式h: 存放散點圖p1:存放擬合函數圖形xx: 定義正規(guī)方程組變量,存放m 次擬合多項式的系數注: 語句 s=TableSumxiki,k,1,n,i,0,2m、 a=T
11、ablesi+j-1,i,1,m+1,j,1,m+1、b=TableSumxiki*yik,k,1,n,i,0,m是用簡化的正規(guī)方程組編程的。1.4 例題與實驗例 1.已知一組實驗數據x1345678910f(x)1054211234用多項式擬合求其擬合曲線。解:執(zhí)行m 次多項式擬合程序后,在輸入的兩個窗口中按提示分別輸入1,3,4,5,6,7,8,9,10 、 10,5,4,2,1,1,2,3,4 ,每次輸入后用鼠標點擊窗口的“OK ”按扭,計算機在屏幕上畫出散點圖:由于該散點圖具有2 次多項式形狀,因此在確定選擇多項式次數窗口輸入2,按 OK”按扭后得如下輸出結果:a= 953381533
12、813017381301725317b=321471025213.4597 - 3.60531 t + 0.267571 t4/14于是得求出的二次多項式擬合函數為:(t)=13.4597 - 3.60531 t + 0.267571 t 2而且從圖形上看擬合效果很好例 2.已知一組實驗數據x681012141618202224f(x)4.64.84.64.95.05.45.15.55.66.0修改多項式擬合程序使其具有可以選擇不同多項式擬合函數功能,并用此程序確定本題多項式擬合曲線。解: 在擬合多項式程序中加入評價擬合效果的判定人機交互語句tu=Input"Satisfatory?
13、0(No)or1Yes"和 While 語句來調控何時終止實驗,調控變量用 tu 取值確定, 取值 0 表示不滿意, 1 表示滿意。此外, 去掉正規(guī)方程組系數及擬合多項式的輸出,代之以在圖形上表出擬合多項式的次數提示,修改后的程序為:xi=Tablei,i,6,24,2;yi=4.6,4.8,4.6,4.9,5,5.4,5.1,5.5,5.6,6;n=Lengthxi;h=ListPlotTablexii,yii,i,1,n,PlotStyle->PointSize0.04tu=0;Whiletu=0,m=Input" 多項式次數m"s=TableSumxi
14、ki,k,1,n,i,0,2m;a=Tablesi+j-1,i,1,m+1,j,1,m+1;(*Print"a=",MatrixForma;*)b=TableSumxiki*yik,k,1,n,i,0,m;(*Print"b=",MatrixFormb;*)xx=Tablexi,i,1,m+1;g=Solvea.xx=b,xx;fa=Sumxi*t(i-1),i,1,m+1/.g1;p=fa/N;p1=Plotp,t,xi1,xin,PlotLabel->m"擬合多項式 ",DisplayFunction->Identit
15、y;Showp1,h,DisplayFunction->$DisplayFunction;tu=Input"Satisfatory?0(No)or1Yes"執(zhí)行該程序后,屏幕上出現擬合多項式次數輸入窗口和散點圖:5/14由于該散點圖不好確定擬合次數,先用3 次擬合多項式計算,因此輸入:3 并用鼠標點擊窗口的“ OK ”按扭,得如下輸出圖形:屏幕出現提示是否滿意的輸入窗口,因為不太滿意,輸入:0,單擊“ OK ”按扭并在屏幕上出現擬合多項式次數輸入窗口中輸入:6,單擊 OK ,屏幕出現下一個組合圖形繼續(xù)做實驗,得到如下若干圖形:6/14由于總共有10 個數據點,所以擬合
16、多項式最高次數只能到9 次,因此實驗到9 次擬合多項式后,在屏幕出現提示是否滿意的輸入窗口中,輸入:1,單擊“ OK ”按扭退出實驗。通過實驗圖形,可以看到用9 次擬合多項式正好通過所有給定數據點,因此選用9 次擬合多項式為所求擬合曲線。不過,考慮到擬合曲線的特點是關注整體誤差較小,而該擬合曲線在兩端波動較大使得整體誤差較大,它不如 8 次擬合多項式曲線的整體擬合效果,因而選用 9 次擬合多項式作為所求擬合曲線可能并不是最好的。實用中, 可以根據實際問題的背景來確定到底選擇哪一個作為所求擬合曲線。2. 線性模型擬合如果擬合函數類是由一些線性無關的已知函數的線性組合構成函數集合,此時用最小二乘法
17、則獲得的擬合函數稱為線性模型擬合。線性模型擬合是多項式擬合的推廣形式應用范圍更廣。2.1 線性擬合的構造過程:令所求的擬合函數(x)Span 0 , 1 ,m ,則有(x)= a0 0(x)+ a11(x)+ a 22(x)+ + ma m(x)為確定系數 a0,a1, ,am ,考慮平方和7/14n( xk ) 2nm2S(a0 , a1, , am )k ( f (x k )k ( f (x k )ai i ( xk )k0k 0i 0于是求解歸結為m+1元函數 S(a0,a1 , ,am)的極值問題 ,由多元函數極值的必要條件,有Snm2k ( f ( xk )ai i (xk ) j
18、(xk ) 0a jk0i0j0,1,n整理后,得mnnaik i (xk )k f (xk )j ( xk )i 0k0k0j0,1,n這是關于 a0,a1, ,am的線性方程組,引進函數內積符號:( h, g)nk h( xk ) g( xk )k 0于是得到如下線性方程組(0,0)(0,1)( 0 , m )a0( f , 0 )(1, 0)(1,1)( 1 , m )a1( f , 1 )( m , 0 )( m , 1 )( m , m )a m( f , m )這個線性方程組稱為法方程組或正規(guī)方程組,它的系數矩陣是對稱矩陣,已經證明如果函數組 0(x)、 1(x)、 、 m(x)
19、是在點集 x j 上滿足 Haar條件,它有唯一解。設此解為a0* ,a1* , ,a m* ,則函數*(x)= a0*2*2(x)+ + ma*01*1(x)+ am(x)+ a(x)既為所求的線性模型擬合。2.2 線性模型擬合算法:1.輸入 n+1 個擬合點:ii),i=0,1, ,n(x , y2.根據散點圖確定擬合基函數組3.計算相應正規(guī)線性方程組的系數和右端項4.解正規(guī)正規(guī)線性方程組,得解:a0* ,a1* , ,am*5.寫出線性擬合模型*(x)= a0*01*1(x)+ a2*2m* m(x)+ a(x)+ + a(x)8/14求線性模型擬合程序:Clearx,xi,xx,yi;
20、xi=Input"xi="yi=Input"yi="n=Lengthxi;h=ListPlotTablexii,yii,i,1,n,PlotStyle->PointSize0.04m1=Input" 輸入擬合基函數組"m=Lengthm1p=Tablem1/.x->xik,k,1,na=TableSumpk,i*pk,j,k,1,n,i,1,m,j,1,m/N(*Print"a=",MatrixForma;*)b=TableSumpk,i*yik,k,1,n,i,1,m/N(*Print"b=
21、",MatrixFormb;*)xx=Tablexti,i,1,mg=Solvea.xx=b,xxfa=Sumxti*m1i,i,1,m/.g1pp=fa/N;p1=Plotpp,x,xi1,xin,DisplayFunction->Identity;Showp1,h,DisplayFunction->$DisplayFunction說明:本程序用于求線性模型擬合。程序執(zhí)行后,按要求通過鍵盤輸入插值基點xi: x0 , x 1 , . ,xn、對應函數值yi: y 0 ,y1 , , yn 后,計算機給出散點圖和請求輸入擬合擬合基函數組0(x), 1 (x),2(x) 、
22、 、 m(x) 的窗口,操作者可以根據散點圖確定擬合基函數組通過鍵盤輸入,程序即可給出對應的正規(guī)方程組系數矩陣a、常數項 b、線性模型擬合函數和由擬合函數圖形與散點圖畫在一起的圖形。程序中變量說明:xi :存放擬合基點 x0 , x 1 , . , x nyi:存放對應函數值y0,y1, , ynm1:存放擬合基函數組 0(x) ,1(x) , 2(x)、 、 m(x)m: 存放擬合基函數組個數a: 存放正規(guī)方程組系數矩陣b: 存放正規(guī)方程組常數項p: 存放擬合基函數組在擬合基點 x0 , x 1, . , x n 的函數值pp: 存放求出的線性模型擬合函數h: 存放散點圖p1:存放擬合函數圖
23、形xx: 定義正規(guī)方程組變量,存放線性模型擬合系數注: 1)語句 m1=Input" 輸入擬合基函數組" 產生的輸入應用函數表,即用“0x ,1 x , ,mx的形式輸入。2) Mathematica 數學軟件中也有一個求線性模型擬合的命令,命令形式為:Fitx1,y1,x2,y2,.,xn,yn,0,12, , m ,x,9/14它可以根據數據點集x1,y1,x2,y2,.,xn,yn求出具有擬合函數為(x)= a 00(x)+a 11 (x)+ +am m(x)形式的近似函數(x) 。1.5 例題與實驗例 3. 已知函數在自變量x=1,2, , 10 上數據為 2.89
24、229, 2.86323, 0.473147, -2.25209,-2.87003, -0.835768, 1.97187, 2.96841, 1.23648, -1.63202 ,試用合適的函數進行擬合。解:執(zhí)行線性模型擬合程序后,在輸入的兩個窗口中按提示分別輸入1,2,3,4,5,6,7,8,9,10 、 2.89229,2.86323, 0.473147, -2.25209, -2.87003, -0.835768, 1.97187,2.96841, 1.23648, -1.63202 ,每次輸入后用鼠標點擊窗口的“ OK”按扭, 計算機在屏幕上畫出散點圖:由于該散點圖具有類似正弦曲線的
25、形狀,因此在確定選擇擬合基函數窗口輸入 “ 1,Sinx ”,按“ OK ”按扭后得如下輸出結果:a=10.1.411191.411195.00143b=4.8155215.42390.0482789 + 3.07027 Sinx于是,我們得到了很好的擬合函數(x)=0.0482789 + 3.07027 sin(x)。10/14對于本題,如果看到散點圖具有一個彎曲而選用三次多項式擬合,則輸入“1,x,x2,x3”后會得到如下輸出:a=10.55.385.3025.55.385.3025.25333.385.3025.25333.220825.63025.25333.220825.1.9784
26、110b=4.8155214.0236104.284820.71110.4765 - 7.37686 x + 1.41989 x 2- 0.0796299 x 3顯然這個擬合很不滿意。例 4.給定如下實驗數據x12345678y15.320.527.436.649.165.687.8117.6它有形如 g(x) = e a+bx的擬合類型,試求它的曲線擬合函數。解:此題雖然不是線性模型擬合問題,但可以轉化為線性模型擬合問題,只要令q(x) = ln(g(x)= a+bx就可以轉化為線性模型擬合問題。輸入擬合數據時應該注意關系:q(xk)=ln yk,那么求出的擬合就是 g(x) 的指數部分從而
27、獲得原來的非線性擬合函數。為使用線性模型擬合程序,在程序中加入語句yi=Logyi程序前幾句變?yōu)椋篊learx,xi,xx,yi;xi=Input"xi="yi=Input"yi="yi=Logyin=Lengthxi;h=ListPlotTablexii,yii,i,1,n,PlotStyle->PointSize0.04.11/14執(zhí)行程序后,在輸入窗口依次輸入:1,2,3,4,5,6,7,8 、 15.3, 20.5, 27.4, 36.6, 49.1, 65.6 ,87.8, 117.6 后,單擊“ OK ”按扭得散點圖:然后在確定選擇擬合基函數窗口輸入“1,x ”,按 OK ”按扭后得如下輸出結果:2.43686 + 0.291216 x于是獲得本題的擬合函數為:g(x) = e2.43686 + 0.291216 x將此擬合函數與實驗數據畫在一起,得到如下圖形可見擬合效果很好。五、思考1.下列曲線擬合類型能否用線性模型擬合?,如果能,應該
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025農村回遷房買賣合同(含稅費處理)
- 2025年度養(yǎng)豬場養(yǎng)殖環(huán)境優(yōu)化與改造合同3篇
- 二零二五年度借調人員工作培訓與職業(yè)成長協(xié)議3篇
- 二零二五年度教育培訓機構教師聘用與教學質量監(jiān)控合同2篇
- 二零二五年度子女對父母贍養(yǎng)與老年旅游服務合同3篇
- 二零二五年度國際能源資源勘探開發(fā)合同3篇
- 2025年度養(yǎng)豬場產業(yè)鏈上下游供應鏈合作合同3篇
- 二零二五年度企業(yè)勞動合同解除與員工離職經濟補償及離職證明協(xié)議3篇
- 2025年度口腔醫(yī)院與醫(yī)療器械制造商戰(zhàn)略合作合同3篇
- 2025年度美國大學本科預科班入學合同3篇
- 大學英語四級閱讀理解精讀100篇
- 《活法》名著分享讀書分享會ppt
- 回轉工作臺設計畢業(yè)設計
- 2022年臺州學院計算機科學與技術專業(yè)《計算機組成原理》科目期末試卷A(有答案)
- 人工開挖土方施工方案
- 昆明市公交集團車載視頻監(jiān)控平臺升級方案20191025
- 一流課程申報
- 高中體育特長生名校報考路徑分析課件
- 主要建筑材料碳排放因子查詢表
- 建筑施工室內裝飾設計施工圖講解
- 冠寓運營管理手冊
評論
0/150
提交評論