




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 MATLAB與插值、擬合與插值、擬合主要參考資料:數學建模與數學實驗數學建模與數學實驗第三版第三版趙靜,但琦等編,高等教育出版社,2010年拉格朗日插值拉格朗日插值分段線性插值分段線性插值三次樣條插值三次樣條插值 一、一、 插插 值值1、插值的定義、插值的定義2、插值的方法、插值的方法3、用、用Matlab解插值問題解插值問題問題來源: 當數據量不夠,需要補充,且認定已有數據可信時 , 通常利用函數插值方法建立插值模型. 當數據量不夠,需要補充,且認定已有數據可信時 , 通常利用函數插值方法建立插值模型.目標:根據一組觀測數據尋找函數關系( ,)0,1, .iix yin( )yf x滿足(
2、 )0,1, .iiyf xin 一、一、 插插 值值0 x1xnx0y1y1 1、插值的定義、插值的定義, 1 , 0(),(njyxjj其中其中jx互不相同,不妨設互不相同,不妨設),10bxxxan求任一插值點求任一插值點)(*jxx 處的插值處的插值.*y0 x1xnx0y1y*x*y已知已知 n+1個數據點個數據點(節(jié)點節(jié)點): 構造一個構造一個(相對簡單的相對簡單的)函數函數),(xfy 通過全部節(jié)點通過全部節(jié)點, 即即), 1 ,0()(njyxfjj再用再用)(xf計算插值,即計算插值,即).(*xfy 0 x1xnx0y1y*x*y 稱為拉格朗日插值基函數拉格朗日插值基函數。
3、n0iiiny)x(L)x(P 已知函數f(x)在n+1個點x0,x1,xn處的函數值為 y0,y1,yn 。求一n次多項式函數Pn(x),使其滿足: Pn(xi)=yi,i=0,1,n. 解決此問題的拉格朗日插值多項式公式如下其中Li(x) 為n次多項式:)xx()xx)(xx()xx)(xx()xx()xx)(xx()xx)(xx()x(Lni1ii1ii1i0in1i1i10i(1). (1). 拉格朗日拉格朗日(Lagrange)插值插值2、插值的方法、插值的方法(1).(1).拉格朗日拉格朗日(Lagrange)插值插值特別地特別地:兩點一次兩點一次(線性線性)插值多項式插值多項式:
4、 101001011yxxxxyxxxxxL三點二次三點二次(拋物拋物)插值多項式插值多項式: 2120210121012002010212yxxxxxxxxyxxxxxxxxyxxxxxxxxxL .,滿足插值條件直接驗證可知xLn 拉格朗日多項式插值的這種振蕩現象叫 Runge現象現象55,11)(2xxxg 采用拉格朗日多項式插值:選取不同插值節(jié)點個數n+1,其中n為插值多項式的次數,當n分別取2,4,6,8,10時,繪出插值結果圖形.例例-5-4-3-2-1012345-1.5-1-0.500.511.52y=1/(1+x2)n=2n=4n=6n=8n=10(2).(2).分段線性插值
5、分段線性插值其它,0,)()()(1111110jjjjjjjjjjjnjjjnxxxxxxxxxxxxxxxlxlyxL計算量與n無關;n越大,誤差越小.nnnxxxxgxL0),()(limxjxj-1xj+1x0 xnxoy66,11)(2xxxg例例用分段線性插值法求插值用分段線性插值法求插值,并觀察插值誤差并觀察插值誤差.1.在在-6,6中平均選取中平均選取5個點作插值個點作插值(xch11)4.在在-6,6中平均選取中平均選取41個點作插值個點作插值(xch14)2.在在-6,6中平均選取中平均選取11個點作插值個點作插值(xch12)3.在在-6,6中平均選取中平均選取21個點作
6、插值個點作插值(xch13)比分段線性插值更光滑。比分段線性插值更光滑。xyxi-1 xiab 在數學上,光滑程度的定量描述是:函數(曲線)的k階導數存在且連續(xù),則稱該曲線具有k階光滑性。 光滑性的階次越高,則越光滑。是否存在較低次的分段多項式達到較高階光滑性的方法?三次樣條插值就是一個很好的例子。三次樣條插值三次樣條插值 (3).(3).三次樣條插值, 1,),()(1nixxxxsxSiii,)()3), 1 ,0()()2), 1()()10223niiiiiiixxCxSniyxSnidxcxbxaxs) 1, 1()()(),()(),()(111 nixsxsxsxsxsxsiii
7、iiiiiiiii自然邊界條件)(0)()()40 nxSxS)(,)4)3)2xSdcbaiiii)()(limxgxSng g( (x x) )為被插值函數為被插值函數。例例66,11)(2xxxg用三次樣條插值選取用三次樣條插值選取11個基點計算插值個基點計算插值(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+x
8、1.2);plot(x1,y1,k,x0,y0,+,x,y,r);用用MATLABMATLAB作插值計算小結作插值計算小結一維插值函數:一維插值函數:yi=interp1(x,y,xi,method)插值方法插值方法被插值點被插值點插值節(jié)點插值節(jié)點xixi處的插處的插值結果值結果nearest :最鄰近插值:最鄰近插值linear : 線性插值;線性插值;spline : 三次樣條插三次樣條插值;值;cubic : 立方插值。立方插值。缺省時:缺省時: 分段線性插值。分段線性插值。 注意:所有的插值方法都要求注意:所有的插值方法都要求x x是單調的,并且是單調的,并且xi不不能夠超過能夠超過x
9、的范圍。的范圍。 例:在例:在1-121-12的的1111小時內,每隔小時內,每隔1 1小時測量一次小時測量一次溫度,測得的溫度依次為:溫度,測得的溫度依次為:5 5,8 8,9 9,1515,2525,2929,3131,3030,2222,2525,2727,2424。試估計每隔。試估計每隔1/101/10小時的小時的溫度值。溫度值。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); (直接輸出數據將是很多的)plot(hours,temps,+,h,t,
10、hours,temps,r:) %作圖xlabel(Hour),ylabel(Degrees Celsius)X035791 11 21 31 41 5Y01 . 21 . 72 . 02 . 12 . 01 . 81 . 21 . 01 . 6例例 已知飛機下輪廓線上數據如下,求已知飛機下輪廓線上數據如下,求x每改變每改變0.1時的時的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=in
11、terp1(x0,y0,x,spline); subplot(3,1,1)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)機翼下輪廓線xy051015-20-10010lagrange0510150123piecewise linear0510150123spline二、擬合二、擬合2.2.擬合的基本原理擬合的基本原理1. 擬合問題引
12、例擬合問題引例擬擬 合合 問問 題題 引引 例例 1 1溫度溫度t(0C) 20.5 32.7 51.0 73.0 95.7電阻電阻R( ) 765 826 873 942 1032已知熱敏電阻數據:已知熱敏電阻數據:求求60600C時的電阻時的電阻R。2040608010070080090010001100 設設 R=at+ba,b為待定系數為待定系數擬擬 合合 問問 題題 引引 例例 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已知一室模型快速靜脈注
13、射下的血藥濃度數據已知一室模型快速靜脈注射下的血藥濃度數據(t=0注射注射300mg)求血藥濃度隨時間的變化規(guī)律求血藥濃度隨時間的變化規(guī)律c(t).作半對數坐標系作半對數坐標系(semilogy)下的圖形下的圖形為待定系數kcectckt,)(002468100101102曲曲 線線 擬擬 合合 問問 題題 的的 提提 法法已知一組(二維)數據,即平面上已知一組(二維)數據,即平面上 n個點個點(xi,yi) i=1,n, 尋求一個函數(曲線)尋求一個函數(曲線)y=f(x), 使使 f(x) 在某種準則下與所在某種準則下與所有數據點最為接近,即曲線擬合得最好。有數據點最為接近,即曲線擬合得最
14、好。 +xyy=f(x)(xi,yi)i i 為點為點(xi,yi) 與與曲線曲線 y=f(x) 的距離的距離擬合與插值的關系擬合與插值的關系 函數插值與曲線擬合都是要根據一組數據構造一個函數作函數插值與曲線擬合都是要根據一組數據構造一個函數作為近似,由于近似的要求不同,二者的數學方法上是完全不同為近似,由于近似的要求不同,二者的數學方法上是完全不同的。的。 實例:實例:下面數據是某次實驗所得,希望得到X和 f之間的關系?x124791 21 31 51 7f1 .53 .96 .611 .71 5 .61 8 .81 9 .62 0 .62 1 .1問題:問題:給定一批數據點,需確定滿足特定
15、要求的曲線或曲面解決方案:解決方案:若不要求曲線(面)通過所有數據點,而是要求它反映對象整體的變化趨勢,這就是數據擬合數據擬合,又稱曲線擬合或曲面擬合。若要求所求曲線(面)通過所給所有數據點,就是插值問題插值問題;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(已知數據點)hold on;pausebb1=interp1(x,f,y,nearest)plot(y
16、,bb1); gtext(nearest)hold on;pausea=polyfit(x,f,3)aa=polyval(a,y)plot(y,aa)gtext(曲線擬合); hold off;pausefigure(2);plot(x,f,o)gtext(已知數據點)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%最臨近插值、線性插值、樣條插值與曲線擬合結果:
17、最臨近插值、線性插值、樣條插值與曲線擬合結果:0246810121416180510152025已知數據點spline三次多項式插值0246810121416180510152025已知數據點linest三次多項式插值0246810121416180510152025已知數據點nearest三次多項式插值曲線擬合問題最常用的解法曲線擬合問題最常用的解法線性最小二乘法的基本思路線性最小二乘法的基本思路第一步: :先選定一組函數先選定一組函數 r1(x), r2(x), rm(x), mn, 令令 f(x)=a1r1(x)+a2r2(x)+ +amrm(x) (1)其中其中 a1,a2, am 為
18、待定系數。為待定系數。 第二步: 確定確定a1,a2, am 的準則(最小二乘準則):的準則(最小二乘準則):使使n個點個點(xi,yi) 與與曲線曲線 y=f(x) 的距離的距離 i 的平方和最小的平方和最小 。記記 )2()()(),(211211221iiknimkkininiiimyxrayxfaaaJ 問題歸結為,求問題歸結為,求 a1,a2, am 使使 J(a1,a2, am) 最小。最小。線性最小二乘法的求解:預備知識線性最小二乘法的求解:預備知識超定方程組超定方程組:方程個數大于未知量個數的方程組:方程個數大于未知量個數的方程組)( 221111212111mnyararar
19、yarararnmnmnnmm即即 Ra=ynmnmnnmyyyaaarrrrrrR112111211,其中其中超定方程一般是不存在解的矛盾方程組。超定方程一般是不存在解的矛盾方程組。 如果有向量如果有向量a使得使得 達到最小,達到最小,則稱則稱a為上述為上述超定方程的最小二乘解超定方程的最小二乘解。 212211)(imniimiiyararar線性最小二乘法的求解線性最小二乘法的求解 定理:定理:當當R RT TR R可逆時,超定方程組(可逆時,超定方程組(3 3)存在最小二乘解,)存在最小二乘解,且即為方程組且即為方程組 R RT TRa=RRa=RT Ty y的解:的解:a=(Ra=(
20、RT TR)R)-1-1R RT Ty y 所以,曲線擬合的最小二乘法要解決的問題,實際上就是所以,曲線擬合的最小二乘法要解決的問題,實際上就是求以下超定方程組的最小二乘解的問題。求以下超定方程組的最小二乘解的問題。nmnmnmyyyaaaxrxrxrxrR111111,)()()()(其中其中Ra=y (3)線性最小二乘擬合線性最小二乘擬合 f(x)=a1r1(x)+ +amrm(x)中中函數函數rr1 1(x), (x), r rm m(x)(x)的選取的選取 1. 1. 通過機理分析建立數學模型來確定通過機理分析建立數學模型來確定 f(x)f(x);+f=a1+a2xf=a1+a2x+a
21、3x2f=a1+a2x+a3x2f=a1+a2/xf=aebxf=ae-bx 2. 2. 將數據將數據 (xi,yi) i=1, n 作圖,通過直觀判斷確定作圖,通過直觀判斷確定 f(x):三三 用用MATLABMATLAB解擬合問題解擬合問題1 1、線性最小二乘擬合、線性最小二乘擬合2 2、非線性最小二乘擬合、非線性最小二乘擬合用用MATLAB作線性最小二乘擬合作線性最小二乘擬合1. 1. 作多項式作多項式f(x)=a1xm+ +amx+am+1擬合擬合, ,可利用已有程序可利用已有程序:a=polyfit(x,y,m)2. 2. 對超定方程組對超定方程組)(11nmyaRnmmn可得最小二
22、乘意義下的解??傻米钚《艘饬x下的解。,用,用yRa3.3.多項式在多項式在x x處的值處的值y y可用以下命令計算:可用以下命令計算: y=polyvaly=polyval(a a,x x)輸出擬合多項式系數輸出擬合多項式系數a=a1, am , am+1 (數組數組) ))輸入同長度輸入同長度的數組的數組X,Y擬合多項擬合多項式次數式次數即要求即要求 出二次多項式出二次多項式:3221)(axaxaxf中中 的的),(321aaaA 使得使得:最小 )(1112iiiyxf例例 對下面一組數據作二次多項式擬合對下面一組數據作二次多項式擬合xi0.10.20.40.50.60.70.80.9
23、1yi1.9783.286.167.347.669.589.489.3011.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此時解法解法1 1用解超定方程的方法用解超定方程的方法2)計算結果)計算結果: = -9.8108 20.1293 -0.03170317.01293.208108.9)(2xxxf1)輸入以下命令:)輸入以下命令: x=0:0.1:1; y=-0.447 1
24、.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2; A=polyfit(x,y,2) z=polyval(A,x); plot(x,y,k+,x,z,r) %作出數據點和擬合曲線的圖形作出數據點和擬合曲線的圖形2)計算結果:)計算結果: = -9.8108 20.1293 -0.0317解法解法2用多項式擬合的命令用多項式擬合的命令00.20.40.60.81-20246810120317.01293.208108.9)(2xxxf1. lsqcurvefit1. lsqcurvefit已知數據點數據點: xdata=xdata=(xdata1
25、,xdata2,xdataxdatan n),), ydata=ydata=(ydataydata1 1,ydataydata2 2,ydataydatan n) 3.3.用用MATLAB作非線性最小二乘擬合作非線性最小二乘擬合 Matlab Matlab的提供了兩個求非線性最小二乘擬合的函數:的提供了兩個求非線性最小二乘擬合的函數:lsqcurvefitlsqcurvefit和lsqnonlinlsqnonlin。兩個命令都要先建立。兩個命令都要先建立M-M-文件文件fun.mfun.m,在其中定義函數在其中定義函數f(x)f(x),但兩者定義,但兩者定義f(x)f(x)的方式是不同的的方式
26、是不同的, ,可參可參考例題考例題.最小 ),(21niiiydataxdataxF lsqcurvefitlsqcurvefit用以求含參量用以求含參量x x(向量)的向量值函數(向量)的向量值函數F(x,xdata)=F(x,xdata)=(F F(x x,xdataxdata1 1),),F F(x x,xdataxdatan n)T T中的參變量中的參變量x(x(向量向量),),使得使得 輸入格式為輸入格式為: : (1) x = lsqcurvefit (fun,x0,xdata,ydata); (2) x =lsqcurvefit (fun,x0,xdata,ydata,optio
27、ns); (3) x = lsqcurvefit (fun,x0,xdata,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是一個事先建立的是一個事先建立的定義函數定義函數F(x,xdata) 的的M-文件文件, 自變量為自變量為x和和xdata
28、說明:x = lsqcurvefit (fun,x0,xdata,ydata,options);迭代初值迭代初值已知數據點已知數據點選項見無選項見無約束優(yōu)化約束優(yōu)化 lsqnonlin用以求含參量用以求含參量x x(向量)的向量值函數(向量)的向量值函數 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已知數據
29、點:已知數據點: xdata=xdata=(xdata1,xdata2,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= ls
30、qnonlinlsqnonlin (fun,x0,options););fun是一個事先建立的是一個事先建立的定義函數定義函數f(x)的的M-文件,文件,自變量為自變量為x迭代初值迭代初值選項見無選項見無約束優(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 用下面一組數據擬合用下面一組數據擬合 中的參數中的參數a,b,kktbeatc2 . 0 . 0)(該問題即解最優(yōu)化問題:該問題即解最優(yōu)化
31、問題: 1 1)編寫)編寫M-M-文件文件 curvefun1.mcurvefun1.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
32、.59; x0=0.2,0.05,0.05; x0=0.2,0.05,0.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)運算結果為)運算結果為:f =0.0043 0.0051 0.0056 0.0059 0.0061 f =0.0043 0.0
33、051 0.0056 0.0059 0.0061 0.0062 0.0062 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)結論)結論: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.mcurv
34、efun2.m function f=curvefun2(x) tdata=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)函數函數curvefun2的自變量是的自變量是x,cdata和和tdata是已知參數,故應是已知參數,故應將將cdata tdata的值寫在的值寫在
35、curvefun2.m中中3 3)運算結果為)運算結果為 f =1.0e-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可以看出可以看出,兩個命令的計算結果是相同的兩個命令的計算結果是相同的.4)結論)結論:
36、即擬合得即擬合得a=0.0063 b=-0.0034 k=0.25420.0063 b=-0.0034 k=0.2542估計水塔的流量估計水塔的流量(AMCM 91)四 MATLAB解應用問題實例 某居民區(qū)有一供居民用水的園柱形水塔,一般可以通過測量其水位來估計水的流量,但面臨的困難是,當水塔水位下降到設定的最低水位時,水泵自動啟動向水塔供水,到設定的最高水位時停止供水,這段時間無法測量水塔的水位和水泵的供水量通常水泵每天供水一兩次,每次約兩小時.一、問題重述一、問題重述 水塔是一個高12.2米,直徑17.4米的正園柱按照設計,水塔水位降至約8.2米時,水泵自動啟動,水位升到約10.8米時水泵
37、停止工作表1 是某一天的水位測量記錄,試估計任何時刻(包括水泵正供水時)從水塔流出的水流量,及一天的總用水量 表 1 水位測量記錄 (符號/表示水泵啟動)時刻(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時刻(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時刻(h)水位(cm)19.04 19.
38、96 20.84 22.01 22.96 23.88 24.99 25.91866 843 822 / / 1059 1035 1018二、問題分析二、問題分析我們很容易想到應通過對所給的數據進行數值擬合來建模在討論具體的建模方法以前,我們應先給出一些合理的假設(1) 影響水從水塔中流出的流量的唯一因素是公眾對水的傳統(tǒng)要求因為表只給出了某一天(近26小時)水塔的水位數據,并沒有對這些數據的產生有影響的因素作出具體的說明,我們只能假定所給數據反映了有代表性的一天,而不包括任何特殊情況,如自然災害、火災、水塔溢水、水塔漏水等對水的特殊要求(2) 水塔中的水位不影響水流量的大小,氣候條件、溫度變化等
39、也不影響水流量(3) 水泵工作起止時間有它的水位決定,每次充水時間大約為兩個小時(4) 水泵充水速度恒定,且水泵充水的水流量遠大于水塔的水流量,以保證人們對水的需求水泵工作時不需要維修,也不中途停止工作(5) 水塔的水流量與水泵狀態(tài)獨立,并不因水泵工作而增加或減少水流量的大小(6) 水塔的水流量曲線可以用一條光滑的曲線了逼近這時,在每一個數據點,水流量的兩階導數是連續(xù)的因為水的消耗量是基于社區(qū)公眾一天的活動,如洗澡、做飯、洗衣服等,每一個使用者的要求與整個社區(qū)的要求相比是微不足道的,而整個社區(qū)的需求是不可能同時增加或減少的,由于水的消耗的自然性,可以假設水流量曲線是一條連續(xù)光滑的曲線(7) 表
40、的數據是準確的.1. 擬合水位擬合水位時間函數時間函數2. 確定流量確定流量時間函數時間函數 3. 估計一天總用水量估計一天總用水量對所給的問題,其建模方法是經典對所給的問題,其建模方法是經典的,基本上是分成三步的,基本上是分成三步:基本模型 1. 擬合水位擬合水位時間函數時間函數分析:分析: 從 測量記錄看,一天有兩個供水時段(以下稱第1供水時段和第2供水時段),和3個水泵不工作時段:第1時段t=0到t=8.97,第2次時段t=10.95到t=20.84第3時段t=23以后對第1、2時段的測量數據直接分別作多項式擬合,得到水位函數為使擬合曲線比較光滑,多項式次數不要太高,一般在36由于第3時
41、段只有3個測量記錄,無法對這一時段的水位作出較好的擬合 2. 確定流量確定流量時間函數時間函數 由流量與水位的關系可知,A. 對于第1、2時段只需將水位函數求導數即可得流量; B. 對于兩個供水時段的流量,則用供水時段前后(水泵不工作時段)的流量擬合得到;C. 將擬合得到的第2供水時段流量外推,將第3時段流量包含在第2供水時段內3、一天總用水量的估計一天總用水量的估計 總用水量等于兩個水泵不工作時段和兩個供水時段用水量之和,它們都可以由流量對時間的積分積分得到。三、模型的求解三、模型的求解1、擬合第、擬合第1、2時段的水位,得基本模型時段的水位,得基本模型2、導出流量關系、導出流量關系, 擬合
42、供水時段的流量擬合供水時段的流量3、估計一天總用水量、估計一天總用水量4、流量及總用水量的檢驗、流量及總用水量的檢驗 1、擬合第擬合第1時段的水位,并導出流量時段的水位,并導出流量 設t,h為已輸入的時刻和水位測量記錄(水泵啟動的4個時刻不輸入),第第1時段時段各時刻的流量可如下得:1) c1=polyfit(t(1:10),),h(1:10),),3);); %用3次多項式擬合第1時段水位,c1輸出3次多項式的系數32( )-0.0785t +1.3586 -22.1079967.7356F ttt第第1時段時間和水位的函數關系:時段時間和水位的函數關系:2)a1=polyder(c1);)
43、; % a1輸出多項式(系數為c1)導數的系數 3)tp1=0:0.1:9; x1=-polyval(a1,tp1);); % x1輸出多項式(系數為a1)在tp1點的函數值(取負后邊為正值),即tp1時刻的流量 4)第第1時段流量函數為:時段流量函數為:1079.227173. 22356. 0)(2tttf 2、擬合第擬合第2時段的水位,并導出流量時段的水位,并導出流量 設t,h為已輸入的時刻和水位測量記錄(水泵啟動的4個時刻不輸入),第第2時段時段各時刻的流量可如下得:1) c2=polyfit(t(10.9:21),h(10.9:21),3); %用3次多項式擬合第2時段水位,c2輸出
44、3次多項式的系數2) a2=polyder(c2); % a2輸出多項式(系數為c2)導數的系數 3)tp2=10.9:0.1:21; x2=-polyval(a2,tp2); % x2輸出多項式(系數為a2)在tp2點的函數值(取負后邊為正值),即tp2時刻的流量.4)第第2時段流量函數為:時段流量函數為:8313. 17512. 87529. 00186. 0)(23ttttf 3、擬合供水時段的流量擬合供水時段的流量 在第1供水時段(t=911)之前(即第1時段)和之后(即第2時段)各取幾點,其流量已經得到,用它們擬合第1供水時段的流量為使流量函數在t=9和t=11連續(xù),我們簡單地只取4
45、個點,擬合3次多項式(即曲線必過這4個點),實現如下: xx1=-polyval(a1,8 9); %取第1時段在t=8,9的流量 xx2=-polyval(a2,11 12); %取第2時段在t=11,12的流量 xx12=xx1 xx2; c12=polyfit(8 9 11 12,xx12,3); %擬合3次多項式 tp12=9:0.1:11; x12=polyval(c12,tp12 % x12輸出第1供水時段各時刻的流量擬合的流量函數為:擬合的流量函數為:078.3555879.737207. 3)(2tttf 在第2供水時段之前取t=20,20.8兩點的流水量,在該時刻之后(第3時
46、段)僅有3個水位記錄,我們用差分得到流量,然后用這4個數值擬合第2供水時段的流量如下: dt3=diff(t(22:24)); %最后3個時刻的兩兩之差 dh3=diff(h(22:24)); %最后3個水位的兩兩之差 dht3=-dh3./dt3; %t(22)和t(23)的流量 t3=20 20.8 t(22) t(23); xx3=-polyval(a2,t3(1:2),dht3); %取t3各時刻的流量 c3=polyfit(t3,xx3,3); %擬合3次多項式 t3=20.8:0.1:24; x3=polyval(c3,tp3);% x3輸出第2供水時段 (外推至t=24)各時刻的
47、流量擬合的流量函數為:擬合的流量函數為:8283.913077. 71405. 0)(2tttf 3、一天總用水量的估計一天總用水量的估計 第1、2時段和第1、2供水時段流量的積分之和,就是一天總用水量雖然諸時段的流量已表為多項式函數,積分可以解析地算出,這里仍用數值積分計算如下: y1=0.1*trapz(x1); %第1時段用水量(仍按高 度計),0.1為積分步長 y2=0.1*trapz(x2); %第2時段用水量 y12=0.1*trapz(x12); %第1供水時段用水量 y3=0.1*trapz(x3); %第2供水時段用水量 y=(y1+y2+y12+y3)*237.8*0.01
48、; %一天總用水量( ) 計算結果:計算結果:y1=146.2, y2=266.8, y12=47.4, y3=77.3,y=1250.4Lm3310 4、流量及總用水量的檢驗流量及總用水量的檢驗 計算出的各時刻的流量各時刻的流量可用水位記錄的數值微分來檢驗用水量y1可用第1時段水位測量記錄中下降高度968-822=146來檢驗,類似地,y2用1082-822=260檢驗供水時段流量供水時段流量的一種檢驗方法檢驗方法如下:供水時段的用水量加上水位上升值260是該時段泵入的水量,除以時段長度得到水泵的功率(單位時間泵入的水量),而兩個供水時段水泵的功率應大致相等第1、2時段水泵的功率可計算如下: p1=(y12+260)/2; %第1供水時段水泵的功率 (水量仍以高度計) tp4=20.8:0.1:23; xp2=polyval(c3,tp4); % xp2輸出第2供水時段 各時刻的流量 p2=(0.1*trapz(xp2)+260)/2.2; %第2供水時段水泵的功率 (水量仍以高度計)計算結果計算結果:p1=154.5 ,p2=140.1計算結果計算結果(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
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 急診科的創(chuàng)新服務理念計劃
- 工作計劃中的資源配置技巧
- 利用大數據提升品牌決策能力計劃
- 三年級數學下冊一兩位數乘兩位數的乘法探索規(guī)律教案西師大版
- 口語交際:安慰 教學設計-2024-2025學年語文四年級上冊統(tǒng)編版
- 統(tǒng)編版小學語文二年級下冊第2課《找春天》精美課件
- 酮癥酸中毒護理診斷和護理措施
- 2025年塔城貨運資格證考試口訣
- 酒水調制知識培訓課件
- 2025年玉林如何考貨運從業(yè)資格證
- 親人意外逝世的訃告微信群通知五篇-正式的去世訃告模板
- 2017華東六省一市優(yōu)質課課件連乘問題11月29日
- 部編版(統(tǒng)編)一年級語文下冊每課練習題(全冊全套)
- DB62∕T 4134-2020 高速公路服務區(qū)設計規(guī)范
- 中電朝陽250兆瓦智慧風儲一體化風電項目環(huán)評報告書
- 做一個幸福教師
- 海上風電場+風機基礎介紹
- 國家自然科學基金申請標書模板
- 車間斷針記錄表
- 人人有事做事事有人做
- MT_T 693-2019-礦用無線電波透視儀通用技術條件_(高清版)
評論
0/150
提交評論