版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 MATLAB與插值、擬合與插值、擬合主要參考資料:數(shù)學(xué)建模與數(shù)學(xué)實(shí)驗(yàn)數(shù)學(xué)建模與數(shù)學(xué)實(shí)驗(yàn)第三版第三版趙靜,但琦等編,高等教育出版社,2010年 一、一、 插插 值值1、插值的定義、插值的定義2、插值的方法、插值的方法3、用、用Matlab解插值問題解插值問題問題來源: 當(dāng)數(shù)據(jù)量不夠,需要補(bǔ)充,且認(rèn)定已有數(shù)據(jù)可信時(shí) , 通常利用函數(shù)插值方法建立插值模型. 當(dāng)數(shù)據(jù)量不夠,需要補(bǔ)充,且認(rèn)定已有數(shù)據(jù)可信時(shí) , 通常利用函數(shù)插值方法建立插值模型.目標(biāo):根據(jù)一組觀測數(shù)據(jù)尋找函數(shù)關(guān)系( ,)0,1, .iix yin( )yf x滿足( )0,1, .iiyf xin 一、一、 插插 值值0 x1xnx0y
2、1y1 1、插值的定義、插值的定義, 1 , 0(),(njyxjj其中其中jx互不相同,不妨設(shè)互不相同,不妨設(shè)),10bxxxan求任一插值點(diǎn)求任一插值點(diǎn))(*jxx 處的插值處的插值.*y0 x1xnx0y1y*x*y已知已知 n+1個(gè)數(shù)據(jù)點(diǎn)個(gè)數(shù)據(jù)點(diǎn)(節(jié)點(diǎn)節(jié)點(diǎn)): 構(gòu)造一個(gè)構(gòu)造一個(gè)(相對簡單的相對簡單的)函數(shù)函數(shù)),(xfy 通過全部節(jié)點(diǎn)通過全部節(jié)點(diǎn), 即即), 1 ,0()(njyxfjj再用再用)(xf計(jì)算插值,即計(jì)算插值,即).(*xfy 0 x1xnx0y1y*x*y 稱為拉格朗日插值基函數(shù)拉格朗日插值基函數(shù)。n0iiiny)x(L)x(P 已知函數(shù)f(x)在n+1個(gè)點(diǎn)x0,x1,
3、xn處的函數(shù)值為 y0,y1,yn 。求一n次多項(xiàng)式函數(shù)Pn(x),使其滿足: Pn(xi)=yi,i=0,1,n. 解決此問題的拉格朗日插值多項(xiàng)式公式如下其中Li(x) 為n次多項(xiàng)式:)xx()xx)(xx()xx)(xx()xx()xx)(xx()xx)(xx()x(Lni1ii1ii1i0in1i1i10i(1). (1). 拉格朗日拉格朗日(Lagrange)插值插值2、插值的方法、插值的方法(1).(1).拉格朗日拉格朗日(Lagrange)插值插值特別地特別地:兩點(diǎn)一次兩點(diǎn)一次(線性線性)插值多項(xiàng)式插值多項(xiàng)式: 101001011yxxxxyxxxxxL三點(diǎn)二次三點(diǎn)二次(拋物拋物)
4、插值多項(xiàng)式插值多項(xiàng)式: 2120210121012002010212yxxxxxxxxyxxxxxxxxyxxxxxxxxxL .,滿足插值條件直接驗(yàn)證可知xLn 拉格朗日多項(xiàng)式插值的這種振蕩現(xiàn)象叫 Runge現(xiàn)象現(xiàn)象55,11)(2xxxg 采用拉格朗日多項(xiàng)式插值:選取不同插值節(jié)點(diǎn)個(gè)數(shù)n+1,其中n為插值多項(xiàng)式的次數(shù),當(dāng)n分別取2,4,6,8,10時(shí),繪出插值結(jié)果圖形.例例-5-4-3-2-1012345-1.5-1-0.500.511.52y=1/(1+x2)n=2n=4n=6n=8n=10(2).(2).分段線性插值分段線性插值其它,0,)()()(1111110jjjjjjjjjjjn
5、jjjnxxxxxxxxxxxxxxxlxlyxL計(jì)算量與n無關(guān);n越大,誤差越小.nnnxxxxgxL0),()(limxjxj-1xj+1x0 xnxoy66,11)(2xxxg例例用分段線性插值法求插值用分段線性插值法求插值,并觀察插值誤差并觀察插值誤差.1.在在-6,6中平均選取中平均選取5個(gè)點(diǎn)作插值個(gè)點(diǎn)作插值(xch11)4.在在-6,6中平均選取中平均選取41個(gè)點(diǎn)作插值個(gè)點(diǎn)作插值(xch14)2.在在-6,6中平均選取中平均選取11個(gè)點(diǎn)作插值個(gè)點(diǎn)作插值(xch12)3.在在-6,6中平均選取中平均選取21個(gè)點(diǎn)作插值個(gè)點(diǎn)作插值(xch13)比分段線性插值更光滑。比分段線性插值更光滑。
6、xyxi-1 xiab 在數(shù)學(xué)上,光滑程度的定量描述是:函數(shù)(曲線)的k階導(dǎo)數(shù)存在且連續(xù),則稱該曲線具有k階光滑性。 光滑性的階次越高,則越光滑。是否存在較低次的分段多項(xiàng)式達(dá)到較高階光滑性的方法?三次樣條插值就是一個(gè)很好的例子。三次樣條插值三次樣條插值 (3).(3).三次樣條插值, 1,),()(1nixxxxsxSiii,)()3), 1 ,0()()2), 1()()10223niiiiiiixxCxSniyxSnidxcxbxaxs) 1, 1()()(),()(),()(111 nixsxsxsxsxsxsiiiiiiiiiiii自然邊界條件)(0)()()40 nxSxS)(,)4
7、)3)2xSdcbaiiii)()(limxgxSng g( (x x) )為被插值函數(shù)為被插值函數(shù)。例例66,11)(2xxxg用三次樣條插值選取用三次樣條插值選取11個(gè)基點(diǎn)計(jì)算插值個(gè)基點(diǎn)計(jì)算插值(ych)-5-4-3-2-101234500.10.20.30.40.50.60.70.80.91x0=linspace(-5,5,11);y0=1./(1+x0.2);x=linspace(-5,5,100);y=interp1(x0,y0,x,spline);x1=linspace(-5,5,100);y1=1./(1+x1.2);plot(x1,y1,k,x0,y0,+,x,y,r);用用M
8、ATLABMATLAB作插值計(jì)算小結(jié)作插值計(jì)算小結(jié)一維插值函數(shù):一維插值函數(shù):yi=interp1(x,y,xi,method)插值方法插值方法被插值點(diǎn)被插值點(diǎn)插值節(jié)點(diǎn)插值節(jié)點(diǎn)xixi處的插處的插值結(jié)果值結(jié)果nearest :最鄰近插值:最鄰近插值linear : 線性插值;線性插值;spline : 三次樣條插三次樣條插值;值;cubic : 立方插值。立方插值。缺省時(shí):缺省時(shí): 分段線性插值。分段線性插值。 注意:所有的插值方法都要求注意:所有的插值方法都要求x x是單調(diào)的,并且是單調(diào)的,并且xi不不能夠超過能夠超過x的范圍。的范圍。 例:在例:在1-121-12的的1111小時(shí)內(nèi),每隔小
9、時(shí)內(nèi),每隔1 1小時(shí)測量一次小時(shí)測量一次溫度,測得的溫度依次為:溫度,測得的溫度依次為:5 5,8 8,9 9,1515,2525,2929,3131,3030,2222,2525,2727,2424。試估計(jì)每隔。試估計(jì)每隔1/101/10小時(shí)的小時(shí)的溫度值。溫度值。hours=1:12;temps=5 8 9 15 25 29 31 30 22 25 27 24;h=1:0.1:12;t=interp1(hours,temps,h,spline); (直接輸出數(shù)據(jù)將是很多的)plot(hours,temps,+,h,t,hours,temps,r:) %作圖xlabel(Hour),ylab
10、el(Degrees Celsius)X035791 11 21 31 41 5Y01 . 21 . 72 . 02 . 12 . 01 . 81 . 21 . 01 . 6例例 已知飛機(jī)下輪廓線上數(shù)據(jù)如下,求已知飛機(jī)下輪廓線上數(shù)據(jù)如下,求x每改變每改變0.1時(shí)的時(shí)的y值。值。x0=0 3 5 7 9 11 12 13 14 15 ;y0=0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6 ;x=0:0.1:15;y1=lagr1(x0,y0,x);y2=interp1(x0,y0,x);y3=interp1(x0,y0,x,spline); subplot(3,1,1
11、)plot(x0,y0,k+,x,y1,r)gridtitle(lagrange)subplot(3,1,2)plot(x0,y0,k+,x,y2,r)Grid;title(piecewise linear)subplot(3,1,3)plot(x0,y0,k+,x,y3,r)Grid;title(spline)機(jī)翼下輪廓線xy051015-20-10010lagrange0510150123piecewise linear0510150123spline二、擬合二、擬合2.2.擬合的基本原理擬合的基本原理1. 擬合問題引例擬合問題引例擬擬 合合 問問 題題 引引 例例 1 1溫度溫度t(0C
12、) 20.5 32.7 51.0 73.0 95.7電阻電阻R( ) 765 826 873 942 1032已知熱敏電阻數(shù)據(jù):已知熱敏電阻數(shù)據(jù):求求60600C時(shí)的電阻時(shí)的電阻R。2040608010070080090010001100 設(shè)設(shè) R=at+ba,b為待定系數(shù)為待定系數(shù)擬擬 合合 問問 題題 引引 例例 2 2 t (h) 0.25 0.5 1 1.5 2 3 4 6 8c ( g/ml) 19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01已知一室模型快速靜脈注射下的血藥濃度數(shù)據(jù)已知一室模型快速靜脈注射下的血藥濃度數(shù)據(jù)(t=0注射注
13、射300mg)求血藥濃度隨時(shí)間的變化規(guī)律求血藥濃度隨時(shí)間的變化規(guī)律c(t).作半對數(shù)坐標(biāo)系作半對數(shù)坐標(biāo)系(semilogy)下的圖形下的圖形為待定系數(shù)kcectckt,)(002468100101102曲曲 線線 擬擬 合合 問問 題題 的的 提提 法法已知一組(二維)數(shù)據(jù),即平面上已知一組(二維)數(shù)據(jù),即平面上 n個(gè)點(diǎn)個(gè)點(diǎn)(xi,yi) i=1,n, 尋求一個(gè)函數(shù)(曲線)尋求一個(gè)函數(shù)(曲線)y=f(x), 使使 f(x) 在某種準(zhǔn)則下與所在某種準(zhǔn)則下與所有數(shù)據(jù)點(diǎn)最為接近,即曲線擬合得最好。有數(shù)據(jù)點(diǎn)最為接近,即曲線擬合得最好。 +xyy=f(x)(xi,yi)i i 為點(diǎn)為點(diǎn)(xi,yi) 與
14、與曲線曲線 y=f(x) 的距離的距離擬合與插值的關(guān)系擬合與插值的關(guān)系 函數(shù)插值與曲線擬合都是要根據(jù)一組數(shù)據(jù)構(gòu)造一個(gè)函數(shù)作函數(shù)插值與曲線擬合都是要根據(jù)一組數(shù)據(jù)構(gòu)造一個(gè)函數(shù)作為近似,由于近似的要求不同,二者的數(shù)學(xué)方法上是完全不同為近似,由于近似的要求不同,二者的數(shù)學(xué)方法上是完全不同的。的。 實(shí)例:實(shí)例:下面數(shù)據(jù)是某次實(shí)驗(yàn)所得,希望得到X和 f之間的關(guān)系?x124791 21 31 51 7f1 .53 .96 .611 .71 5 .61 8 .81 9 .62 0 .62 1 .1問題:問題:給定一批數(shù)據(jù)點(diǎn),需確定滿足特定要求的曲線或曲面解決方案:解決方案:若不要求曲線(面)通過所有數(shù)據(jù)點(diǎn),而
15、是要求它反映對象整體的變化趨勢,這就是數(shù)據(jù)擬合數(shù)據(jù)擬合,又稱曲線擬合或曲面擬合。若要求所求曲線(面)通過所給所有數(shù)據(jù)點(diǎn),就是插值問題插值問題;x=1 2 4 7 9 12 13 15 17;f=1.5 3.9 6 11.7 12.6 18.8 20.3 20.6 21.1;axis(0 18 1 22)xlabel(x); ylabel(f)y=1:0.1:17; figure(1);plot(x,f,o); gtext(已知數(shù)據(jù)點(diǎn))hold on;pausebb1=interp1(x,f,y,nearest)plot(y,bb1); gtext(nearest)hold on;pausea=
16、polyfit(x,f,3)aa=polyval(a,y)plot(y,aa)gtext(曲線擬合); hold off;pausefigure(2);plot(x,f,o)gtext(已知數(shù)據(jù)點(diǎn))hold on;pausebb1=interp1(x,f,y,linest)plot(y,bb1)gtext(linest)hold on;pausea=polyfit(x,f,3)aa=polyval(a,y)plot(y,aa)gtext(曲線擬合)hold off;pause%最臨近插值、線性插值、樣條插值與曲線擬合結(jié)果:最臨近插值、線性插值、樣條插值與曲線擬合結(jié)果:0246810121416
17、180510152025已知數(shù)據(jù)點(diǎn)spline三次多項(xiàng)式插值0246810121416180510152025已知數(shù)據(jù)點(diǎn)linest三次多項(xiàng)式插值0246810121416180510152025已知數(shù)據(jù)點(diǎn)nearest三次多項(xiàng)式插值曲線擬合問題最常用的解法曲線擬合問題最常用的解法線性最小二乘法的基本思路線性最小二乘法的基本思路第一步: :先選定一組函數(shù)先選定一組函數(shù) r1(x), r2(x), rm(x), mn, 令令 f(x)=a1r1(x)+a2r2(x)+ +amrm(x) (1)其中其中 a1,a2, am 為待定系數(shù)。為待定系數(shù)。 第二步: 確定確定a1,a2, am 的準(zhǔn)則(最
18、小二乘準(zhǔn)則):的準(zhǔn)則(最小二乘準(zhǔn)則):使使n個(gè)點(diǎn)個(gè)點(diǎn)(xi,yi) 與與曲線曲線 y=f(x) 的距離的距離 i 的平方和最小的平方和最小 。記記 )2()()(),(211211221iiknimkkininiiimyxrayxfaaaJ 問題歸結(jié)為,求問題歸結(jié)為,求 a1,a2, am 使使 J(a1,a2, am) 最小。最小。線性最小二乘法的求解:預(yù)備知識(shí)線性最小二乘法的求解:預(yù)備知識(shí)超定方程組超定方程組:方程個(gè)數(shù)大于未知量個(gè)數(shù)的方程組:方程個(gè)數(shù)大于未知量個(gè)數(shù)的方程組)( 221111212111mnyarararyarararnmnmnnmm即即 Ra=ynmnmnnmyyyaaar
19、rrrrrR112111211,其中其中超定方程一般是不存在解的矛盾方程組。超定方程一般是不存在解的矛盾方程組。 如果有向量如果有向量a使得使得 達(dá)到最小,達(dá)到最小,則稱則稱a為上述為上述超定方程的最小二乘解超定方程的最小二乘解。 212211)(imniimiiyararar線性最小二乘法的求解線性最小二乘法的求解 定理:定理:當(dāng)當(dāng)R RT TR R可逆時(shí),超定方程組(可逆時(shí),超定方程組(3 3)存在最小二乘解,)存在最小二乘解,且即為方程組且即為方程組 R RT TRa=RRa=RT Ty y的解:的解:a=(Ra=(RT TR)R)-1-1R RT Ty y 所以,曲線擬合的最小二乘法要
20、解決的問題,實(shí)際上就是所以,曲線擬合的最小二乘法要解決的問題,實(shí)際上就是求以下超定方程組的最小二乘解的問題。求以下超定方程組的最小二乘解的問題。nmnmnmyyyaaaxrxrxrxrR111111,)()()()(其中其中Ra=y (3)線性最小二乘擬合線性最小二乘擬合 f(x)=a1r1(x)+ +amrm(x)中中函數(shù)函數(shù)rr1 1(x), (x), r rm m(x)(x)的選取的選取 1. 1. 通過機(jī)理分析建立數(shù)學(xué)模型來確定通過機(jī)理分析建立數(shù)學(xué)模型來確定 f(x)f(x);+f=a1+a2xf=a1+a2x+a3x2f=a1+a2x+a3x2f=a1+a2/xf=aebxf=ae-
21、bx 2. 2. 將數(shù)據(jù)將數(shù)據(jù) (xi,yi) i=1, n 作圖,通過直觀判斷確定作圖,通過直觀判斷確定 f(x):三三 用用MATLABMATLAB解擬合問題解擬合問題1 1、線性最小二乘擬合、線性最小二乘擬合2 2、非線性最小二乘擬合、非線性最小二乘擬合用用MATLAB作線性最小二乘擬合作線性最小二乘擬合1. 1. 作多項(xiàng)式作多項(xiàng)式f(x)=a1xm+ +amx+am+1擬合擬合, ,可利用已有程序可利用已有程序:a=polyfit(x,y,m)2. 2. 對超定方程組對超定方程組)(11nmyaRnmmn可得最小二乘意義下的解??傻米钚《艘饬x下的解。,用,用yRa3.3.多項(xiàng)式在多項(xiàng)
22、式在x x處的值處的值y y可用以下命令計(jì)算:可用以下命令計(jì)算: y=polyvaly=polyval(a a,x x)輸出擬合多項(xiàng)式系數(shù)輸出擬合多項(xiàng)式系數(shù)a=a1, am , am+1 (數(shù)組數(shù)組) ))輸入同長度輸入同長度的數(shù)組的數(shù)組X,Y擬合多項(xiàng)擬合多項(xiàng)式次數(shù)式次數(shù)即要求即要求 出二次多項(xiàng)式出二次多項(xiàng)式:3221)(axaxaxf中中 的的),(321aaaA 使得使得:最小 )(1112iiiyxf例例 對下面一組數(shù)據(jù)作二次多項(xiàng)式擬合對下面一組數(shù)據(jù)作二次多項(xiàng)式擬合xi0.10.20.40.50.60.70.80.91yi1.9783.286.167.347.669.589.489.30
23、11.21)輸入以下命令)輸入以下命令:x=0:0.1:1; y=-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2; R=(x.2) x ones(11,1); A=Ry11 11211121xxxxR此時(shí)解法解法1 1用解超定方程的方法用解超定方程的方法2)計(jì)算結(jié)果)計(jì)算結(jié)果: = -9.8108 20.1293 -0.03170317.01293.208108.9)(2xxxf1)輸入以下命令:)輸入以下命令: x=0:0.1:1; y=-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9
24、.48 9.30 11.2; A=polyfit(x,y,2) z=polyval(A,x); plot(x,y,k+,x,z,r) %作出數(shù)據(jù)點(diǎn)和擬合曲線的圖形作出數(shù)據(jù)點(diǎn)和擬合曲線的圖形2)計(jì)算結(jié)果:)計(jì)算結(jié)果: = -9.8108 20.1293 -0.0317解法解法2用多項(xiàng)式擬合的命令用多項(xiàng)式擬合的命令00.20.40.60.81-20246810120317.01293.208108.9)(2xxxf1. lsqcurvefit1. lsqcurvefit已知數(shù)據(jù)點(diǎn)數(shù)據(jù)點(diǎn): xdata=xdata=(xdata1,xdata2,xdataxdatan n),), ydata=ydat
25、a=(ydataydata1 1,ydataydata2 2,ydataydatan n) 3.3.用用MATLAB作非線性最小二乘擬合作非線性最小二乘擬合 Matlab Matlab的提供了兩個(gè)求非線性最小二乘擬合的函數(shù):的提供了兩個(gè)求非線性最小二乘擬合的函數(shù):lsqcurvefitlsqcurvefit和lsqnonlinlsqnonlin。兩個(gè)命令都要先建立。兩個(gè)命令都要先建立M-M-文件文件fun.mfun.m,在其中定義函數(shù)在其中定義函數(shù)f(x)f(x),但兩者定義,但兩者定義f(x)f(x)的方式是不同的的方式是不同的, ,可參可參考例題考例題.最小 ),(21niiiydatax
26、dataxF lsqcurvefitlsqcurvefit用以求含參量用以求含參量x x(向量)的向量值函數(shù)(向量)的向量值函數(shù)F(x,xdata)=F(x,xdata)=(F F(x x,xdataxdata1 1),),F(xiàn) F(x x,xdataxdatan n)T T中的參變量中的參變量x(x(向量向量),),使得使得 輸入格式為輸入格式為: : (1) x = lsqcurvefit (fun,x0,xdata,ydata); (2) x =lsqcurvefit (fun,x0,xdata,ydata,options); (3) x = lsqcurvefit (fun,x0,xda
27、ta,ydata,options,grad); (4) x, options = lsqcurvefit (fun,x0,xdata,ydata,); (5) x, options,funval = lsqcurvefit (fun,x0,xdata,ydata,); (6) x, options,funval, Jacob = lsqcurvefit (fun,x0,xdata,ydata,);fun是一個(gè)事先建立的是一個(gè)事先建立的定義函數(shù)定義函數(shù)F(x,xdata) 的的M-文件文件, 自變量為自變量為x和和xdata說明:x = lsqcurvefit (fun,x0,xdata,yda
28、ta,options);迭代初值迭代初值已知數(shù)據(jù)點(diǎn)已知數(shù)據(jù)點(diǎn)選項(xiàng)見無選項(xiàng)見無約束優(yōu)化約束優(yōu)化 lsqnonlin用以求含參量用以求含參量x x(向量)的向量值函數(shù)(向量)的向量值函數(shù) f(x)f(x)=(f=(f1 1(x),f(x),f2 2(x),(x),f,fn n(x)(x)T T 中的參量中的參量x x,使得,使得 最小。最小。 其中其中 fi(x)=f(x,xdatai,ydatai) =F(x,xdatai)-ydatai 22221)()()()()(xfxfxfxfxfnT2. lsqnonlin已知數(shù)據(jù)點(diǎn):已知數(shù)據(jù)點(diǎn): xdata=xdata=(xdata1,xdata2,
29、xdataxdatan n) ydata=ydata=(ydataydata1 1,ydataydata2 2,ydataydatan n)輸入格式為:輸入格式為: 1) x=lsqnonlin(fun,x0); 2) x= lsqnonlin (fun,x0,options); 3) x= lsqnonlin (fun,x0,options,grad); 4) x,options= lsqnonlin (fun,x0,); 5) x,options,funval= lsqnonlin (fun,x0,);說明:x= lsqnonlinlsqnonlin (fun,x0,options););
30、fun是一個(gè)事先建立的是一個(gè)事先建立的定義函數(shù)定義函數(shù)f(x)的的M-文件,文件,自變量為自變量為x迭代初值迭代初值選項(xiàng)見無選項(xiàng)見無約束優(yōu)化約束優(yōu)化100200 30040050060070080090010004.54 4.99 5.35 5.65 5.90 6.10 6.26 6.39 6.50 6.59jt310jc210102. 0),(minjjktcbeakbaFj 例例2 用下面一組數(shù)據(jù)擬合用下面一組數(shù)據(jù)擬合 中的參數(shù)中的參數(shù)a,b,kktbeatc2 . 0 . 0)(該問題即解最優(yōu)化問題:該問題即解最優(yōu)化問題: 1 1)編寫)編寫M-M-文件文件 curvefun1.mcur
31、vefun1.m function f=curvefun1(x,tdata) f=x(1)+x(2)*exp(-0.02*x(3)*tdata) %其中其中 x(1)=a; x(2)=b;x(3)=k;2)輸入命令)輸入命令tdata=100:100:1000tdata=100:100:1000cdata=cdata=1e-03* *4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50,6.59;6.50,6.59; x0=0.2,0.05,0.05; x0=0.2,0.05,0
32、.05; x=lsqcurvefit (curvefun1,x0,tdata,cdata)x=lsqcurvefit (curvefun1,x0,tdata,cdata) f= f= curvefun1(x,tdata) F(x,tdata)= ,x=(a,b,k)Tktktbeabea),(10102. 002. 0解法解法1 1. 用命令用命令lsqcurvefitlsqcurvefit3 3)運(yùn)算結(jié)果為)運(yùn)算結(jié)果為:f =0.0043 0.0051 0.0056 0.0059 0.0061 f =0.0043 0.0051 0.0056 0.0059 0.0061 0.0062 0.00
33、62 0.0063 0.0063 0.0063 0.0062 0.0062 0.0063 0.0063 0.0063 x = 0.0063 -0.0034 0.2542 x = 0.0063 -0.0034 0.25424)結(jié)論)結(jié)論:a=0.0063, b=-0.0034, k=0.2542Tktktcbeacbea),(102. 0102. 0101 解法解法 2 用命令用命令lsqnonlin f(x)=F(x,tdata,ctada)= x=(a,b,k)1)編寫編寫M-M-文件文件 curvefun2.mcurvefun2.m function f=curvefun2(x) tdat
34、a=100:100:1000; cdata=1e-03*4.54,4.99,5.35,5.65,5.90, 6.10,6.26,6.39,6.50,6.59; f=x(1)+x(2)*exp(-0.02*x(3)*tdata)- cdata2)輸入命令)輸入命令: x0=0.2,0.05,0.05;x=lsqnonlin(curvefun2,x0)f= curvefun2(x)函數(shù)函數(shù)curvefun2的自變量是的自變量是x,cdata和和tdata是已知參數(shù),故應(yīng)是已知參數(shù),故應(yīng)將將cdata tdata的值寫在的值寫在curvefun2.m中中3 3)運(yùn)算結(jié)果為)運(yùn)算結(jié)果為 f =1.0e
35、-003 f =1.0e-003 * *(0.2322 -0.1243 -0.2495 -0.2413 (0.2322 -0.1243 -0.2495 -0.2413 -0.1668 -0.0724 0.0241 0.1159 0.2030 0.2792-0.1668 -0.0724 0.0241 0.1159 0.2030 0.2792 x =0.0063 -0.0034 0.2542 x =0.0063 -0.0034 0.2542可以看出可以看出,兩個(gè)命令的計(jì)算結(jié)果是相同的兩個(gè)命令的計(jì)算結(jié)果是相同的.4)結(jié)論)結(jié)論:即擬合得即擬合得a=0.0063 b=-0.0034 k=0.25420
36、.0063 b=-0.0034 k=0.2542估計(jì)水塔的流量估計(jì)水塔的流量(AMCM 91)四 MATLAB解應(yīng)用問題實(shí)例 某居民區(qū)有一供居民用水的園柱形水塔,一般可以通過測量其水位來估計(jì)水的流量,但面臨的困難是,當(dāng)水塔水位下降到設(shè)定的最低水位時(shí),水泵自動(dòng)啟動(dòng)向水塔供水,到設(shè)定的最高水位時(shí)停止供水,這段時(shí)間無法測量水塔的水位和水泵的供水量通常水泵每天供水一兩次,每次約兩小時(shí).一、問題重述一、問題重述 水塔是一個(gè)高12.2米,直徑17.4米的正園柱按照設(shè)計(jì),水塔水位降至約8.2米時(shí),水泵自動(dòng)啟動(dòng),水位升到約10.8米時(shí)水泵停止工作表1 是某一天的水位測量記錄,試估計(jì)任何時(shí)刻(包括水泵正供水時(shí))
37、從水塔流出的水流量,及一天的總用水量 表 1 水位測量記錄 (符號(hào)/表示水泵啟動(dòng))時(shí)刻(h)水位(cm)0 0.92 1.84 2.95 3.87 4.98 5.90 7.01 7.93 8.97968 948 931 913 898 881 869 852 839 822時(shí)刻(h)水位(cm)9.98 10.92 10.95 12.03 12.95 13.88 14.98 15.90 16.83 17.93/ / 1082 1050 1021 994 965 941 918 892時(shí)刻(h)水位(cm)19.04 19.96 20.84 22.01 22.96 23.88 24.99 25.
38、91866 843 822 / / 1059 1035 1018二、問題分析二、問題分析我們很容易想到應(yīng)通過對所給的數(shù)據(jù)進(jìn)行數(shù)值擬合來建模在討論具體的建模方法以前,我們應(yīng)先給出一些合理的假設(shè)(1) 影響水從水塔中流出的流量的唯一因素是公眾對水的傳統(tǒng)要求因?yàn)楸碇唤o出了某一天(近26小時(shí))水塔的水位數(shù)據(jù),并沒有對這些數(shù)據(jù)的產(chǎn)生有影響的因素作出具體的說明,我們只能假定所給數(shù)據(jù)反映了有代表性的一天,而不包括任何特殊情況,如自然災(zāi)害、火災(zāi)、水塔溢水、水塔漏水等對水的特殊要求(2) 水塔中的水位不影響水流量的大小,氣候條件、溫度變化等也不影響水流量(3) 水泵工作起止時(shí)間有它的水位決定,每次充水時(shí)間大約為
39、兩個(gè)小時(shí)(4) 水泵充水速度恒定,且水泵充水的水流量遠(yuǎn)大于水塔的水流量,以保證人們對水的需求水泵工作時(shí)不需要維修,也不中途停止工作(5) 水塔的水流量與水泵狀態(tài)獨(dú)立,并不因水泵工作而增加或減少水流量的大小(6) 水塔的水流量曲線可以用一條光滑的曲線了逼近這時(shí),在每一個(gè)數(shù)據(jù)點(diǎn),水流量的兩階導(dǎo)數(shù)是連續(xù)的因?yàn)樗南牧渴腔谏鐓^(qū)公眾一天的活動(dòng),如洗澡、做飯、洗衣服等,每一個(gè)使用者的要求與整個(gè)社區(qū)的要求相比是微不足道的,而整個(gè)社區(qū)的需求是不可能同時(shí)增加或減少的,由于水的消耗的自然性,可以假設(shè)水流量曲線是一條連續(xù)光滑的曲線(7) 表的數(shù)據(jù)是準(zhǔn)確的.對所給的問題,其建模方法是經(jīng)典對所給的問題,其建模方法是
40、經(jīng)典的,基本上是分成三步的,基本上是分成三步: 1. 擬合水位擬合水位時(shí)間函數(shù)時(shí)間函數(shù)分析:分析: 從 測量記錄看,一天有兩個(gè)供水時(shí)段(以下稱第1供水時(shí)段和第2供水時(shí)段),和3個(gè)水泵不工作時(shí)段:第1時(shí)段t=0到t=8.97,第2次時(shí)段t=10.95到t=20.84第3時(shí)段t=23以后對第1、2時(shí)段的測量數(shù)據(jù)直接分別作多項(xiàng)式擬合,得到水位函數(shù)為使擬合曲線比較光滑,多項(xiàng)式次數(shù)不要太高,一般在36由于第3時(shí)段只有3個(gè)測量記錄,無法對這一時(shí)段的水位作出較好的擬合 2. 確定流量確定流量時(shí)間函數(shù)時(shí)間函數(shù) 由流量與水位的關(guān)系可知,對于第1、2時(shí)段只需將水位函數(shù)求導(dǎo)數(shù)即可得流量; 對于兩個(gè)供水時(shí)段的流量,則
41、用供水時(shí)段前后(水泵不工作時(shí)段)的流量擬合得到;A. 將擬合得到的第2供水時(shí)段流量外推,將第3時(shí)段流量包含在第2供水時(shí)段內(nèi)3、一天總用水量的估計(jì)一天總用水量的估計(jì) 總用水量等于兩個(gè)水泵不工作時(shí)段和兩個(gè)供水時(shí)段用水量之和,它們都可以由流量對時(shí)間的積分積分得到。三、模型的求解三、模型的求解1、擬合第、擬合第1、2時(shí)段的水位,得基本模型時(shí)段的水位,得基本模型2、導(dǎo)出流量關(guān)系、導(dǎo)出流量關(guān)系, 擬合供水時(shí)段的流量擬合供水時(shí)段的流量3、估計(jì)一天總用水量、估計(jì)一天總用水量4、流量及總用水量的檢驗(yàn)、流量及總用水量的檢驗(yàn) 1、擬合第擬合第1時(shí)段的水位,并導(dǎo)出流量時(shí)段的水位,并導(dǎo)出流量 設(shè)t,h為已輸入的時(shí)刻和水
42、位測量記錄(水泵啟動(dòng)的4個(gè)時(shí)刻不輸入),第第1時(shí)段時(shí)段各時(shí)刻的流量可如下得:1) c1=polyfit(t(1:10),),h(1:10),),3);); %用3次多項(xiàng)式擬合第1時(shí)段水位,c1輸出3次多項(xiàng)式的系數(shù)32( )-0.0785t +1.3586 -22.1079967.7356F ttt第第1時(shí)段時(shí)間和水位的函數(shù)關(guān)系:時(shí)段時(shí)間和水位的函數(shù)關(guān)系:2)a1=polyder(c1);); % a1輸出多項(xiàng)式(系數(shù)為c1)導(dǎo)數(shù)的系數(shù) 3)tp1=0:0.1:9; x1=-polyval(a1,tp1);); % x1輸出多項(xiàng)式(系數(shù)為a1)在tp1點(diǎn)的函數(shù)值(取負(fù)后邊為正值),即tp1時(shí)刻的
43、流量 4)第第1時(shí)段流量函數(shù)為:時(shí)段流量函數(shù)為:1079.227173. 22356. 0)(2tttf 2、擬合第擬合第2時(shí)段的水位,并導(dǎo)出流量時(shí)段的水位,并導(dǎo)出流量 設(shè)t,h為已輸入的時(shí)刻和水位測量記錄(水泵啟動(dòng)的4個(gè)時(shí)刻不輸入),第第2時(shí)段時(shí)段各時(shí)刻的流量可如下得:1) c2=polyfit(t(10.9:21),h(10.9:21),3); %用3次多項(xiàng)式擬合第2時(shí)段水位,c2輸出3次多項(xiàng)式的系數(shù)2) a2=polyder(c2); % a2輸出多項(xiàng)式(系數(shù)為c2)導(dǎo)數(shù)的系數(shù) 3)tp2=10.9:0.1:21; x2=-polyval(a2,tp2); % x2輸出多項(xiàng)式(系數(shù)為a2
44、)在tp2點(diǎn)的函數(shù)值(取負(fù)后邊為正值),即tp2時(shí)刻的流量.4)第第2時(shí)段流量函數(shù)為:時(shí)段流量函數(shù)為:8313. 17512. 87529. 00186. 0)(23ttttf 3、擬合供水時(shí)段的流量擬合供水時(shí)段的流量 在第1供水時(shí)段(t=911)之前(即第1時(shí)段)和之后(即第2時(shí)段)各取幾點(diǎn),其流量已經(jīng)得到,用它們擬合第1供水時(shí)段的流量為使流量函數(shù)在t=9和t=11連續(xù),我們簡單地只取4個(gè)點(diǎn),擬合3次多項(xiàng)式(即曲線必過這4個(gè)點(diǎn)),實(shí)現(xiàn)如下: xx1=-polyval(a1,8 9); %取第1時(shí)段在t=8,9的流量 xx2=-polyval(a2,11 12); %取第2時(shí)段在t=11,12
45、的流量 xx12=xx1 xx2; c12=polyfit(8 9 11 12,xx12,3); %擬合3次多項(xiàng)式 tp12=9:0.1:11; x12=polyval(c12,tp12 % x12輸出第1供水時(shí)段各時(shí)刻的流量擬合的流量函數(shù)為:擬合的流量函數(shù)為:078.3555879.737207. 3)(2tttf 在第2供水時(shí)段之前取t=20,20.8兩點(diǎn)的流水量,在該時(shí)刻之后(第3時(shí)段)僅有3個(gè)水位記錄,我們用差分得到流量,然后用這4個(gè)數(shù)值擬合第2供水時(shí)段的流量如下: dt3=diff(t(22:24)); %最后3個(gè)時(shí)刻的兩兩之差 dh3=diff(h(22:24)); %最后3個(gè)水位
46、的兩兩之差 dht3=-dh3./dt3; %t(22)和t(23)的流量 t3=20 20.8 t(22) t(23); xx3=-polyval(a2,t3(1:2),dht3); %取t3各時(shí)刻的流量 c3=polyfit(t3,xx3,3); %擬合3次多項(xiàng)式 t3=20.8:0.1:24; x3=polyval(c3,tp3);% x3輸出第2供水時(shí)段 (外推至t=24)各時(shí)刻的流量擬合的流量函數(shù)為:擬合的流量函數(shù)為:8283.913077. 71405. 0)(2tttf 3、一天總用水量的估計(jì)一天總用水量的估計(jì) 第1、2時(shí)段和第1、2供水時(shí)段流量的積分之和,就是一天總用水量雖然諸
47、時(shí)段的流量已表為多項(xiàng)式函數(shù),積分可以解析地算出,這里仍用數(shù)值積分計(jì)算如下: y1=0.1*trapz(x1); %第1時(shí)段用水量(仍按高 度計(jì)),0.1為積分步長 y2=0.1*trapz(x2); %第2時(shí)段用水量 y12=0.1*trapz(x12); %第1供水時(shí)段用水量 y3=0.1*trapz(x3); %第2供水時(shí)段用水量 y=(y1+y2+y12+y3)*237.8*0.01; %一天總用水量( ) 計(jì)算結(jié)果:計(jì)算結(jié)果:y1=146.2, y2=266.8, y12=47.4, y3=77.3,y=1250.4Lm3310 4、流量及總用水量的檢驗(yàn)流量及總用水量的檢驗(yàn) 計(jì)算出的各
48、時(shí)刻的流量各時(shí)刻的流量可用水位記錄的數(shù)值微分來檢驗(yàn)用水量y1可用第1時(shí)段水位測量記錄中下降高度968-822=146來檢驗(yàn),類似地,y2用1082-822=260檢驗(yàn)供水時(shí)段流量供水時(shí)段流量的一種檢驗(yàn)方法檢驗(yàn)方法如下:供水時(shí)段的用水量加上水位上升值260是該時(shí)段泵入的水量,除以時(shí)段長度得到水泵的功率(單位時(shí)間泵入的水量),而兩個(gè)供水時(shí)段水泵的功率應(yīng)大致相等第1、2時(shí)段水泵的功率可計(jì)算如下: p1=(y12+260)/2; %第1供水時(shí)段水泵的功率 (水量仍以高度計(jì)) tp4=20.8:0.1:23; xp2=polyval(c3,tp4); % xp2輸出第2供水時(shí)段 各時(shí)刻的流量 p2=(0.1*trapz(xp2)+260)/2.2; %第2供水時(shí)段水泵的功率 (水量仍以高度計(jì))計(jì)算結(jié)果計(jì)算結(jié)果:p1=154.5 ,p2=140.1計(jì)算結(jié)果計(jì)算結(jié)果(n1,n2) y1, y2 , y12 , y3 y p1 p2(3,4)146.2, 266.8, 47.4, 77.3 1250.4 154.5 140.1(5,6)146.5, 257.8, 46.1, 76.3 1282.4 15
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度教育咨詢服務(wù)辦學(xué)許可證轉(zhuǎn)讓及服務(wù)協(xié)議3篇
- 2025年臨時(shí)用工合作協(xié)議確保二零二五年度客戶服務(wù)品質(zhì)3篇
- 2025年二零二五企業(yè)倉儲(chǔ)物流場地租賃服務(wù)合同3篇
- 2025年度年度影視行業(yè)兼職演員聘用協(xié)議2篇
- 二零二五年度銷售團(tuán)隊(duì)保密責(zé)任協(xié)議
- 2025年度新型城鎮(zhèn)化工程款結(jié)算與進(jìn)度管理協(xié)議3篇
- 2025年度全新競業(yè)協(xié)議解除后一個(gè)月競業(yè)限制合同3篇
- 二零二五年度新能源汽車購買協(xié)議3篇
- 2025年度公司與個(gè)人合作代收代付電商業(yè)務(wù)合同模板3篇
- 二零二五年度農(nóng)產(chǎn)品電商平臺(tái)用戶行為分析合作協(xié)議3篇
- 三菱M64串口使用說明
- 梅溪湖給排水計(jì)算書(施工圖)
- 有色金屬工業(yè)安裝工程質(zhì)量檢驗(yàn)評(píng)定標(biāo)準(zhǔn)(共1004頁)
- 組織架構(gòu)圖可編輯
- 口腔材料學(xué)課件
- 工資審核流程
- 手工鎢極氬弧焊焊接工藝指導(dǎo)書
- 北師大七年級(jí)上數(shù)學(xué)易錯(cuò)題(共8頁)
- 供應(yīng)商供方履約評(píng)價(jià)表(參考模板)
- 徒步行軍pt課件
- 國家電網(wǎng)公司電網(wǎng)設(shè)備缺陷管理規(guī)定國網(wǎng)(運(yùn)檢3)(文號(hào)國家電網(wǎng)企管
評(píng)論
0/150
提交評(píng)論