劉濤
摘 要 水位-流量關(guān)系曲線的高水延長是流量信息處理的一個重要環(huán)節(jié),傳統(tǒng)的人工方式工作量大,且精度不高。在Matlab平臺編寫5個獨立M文件,分別實現(xiàn)曼寧公式4種情況和斯蒂文斯法水位-流量曲線外延,并以某,水文站水位流量實測資料為基礎(chǔ)檢驗了方法的正確性,為水文學(xué)中水位-流量關(guān)系曲線高水延長的繪制提供了一種新的辦法。
關(guān)鍵詞 水位-流量曲線;Matlab;曼寧公式;斯蒂文斯公式;高水延長
中圖分類號:TV122.5 文獻標志碼:B 文章編號:1673-890X(2015)27--03
測站測流時,由于施測條件限制或其他種種原因,致使最高水位的流量缺測或漏測。為取得全年完整流量過程,必須進行高水時水位-流量關(guān)系的延長。高水延長的結(jié)果,對洪水期流量過程的主要部分,包括洪峰流量在內(nèi),有重大影響,因此延長需慎重[1]。池宸星[2]研究了水位流量關(guān)系曲線的計算機輔助率確定與應(yīng)用。程曉波[3]等人研究了利用Excel規(guī)劃求解擬合“水位-流量”關(guān)系曲線。但都只對已知“水位-流量”散點進行擬合并未延伸。本文對如何應(yīng)用Matlab實現(xiàn)“水位-流量”關(guān)系曲線的高水延長進行了研究,并給出了利用Matlab實現(xiàn)“水位-流量”曲線高水延長的M文件,具有重復(fù)和可操作性。
1 水位流量曲線的延長
1.1 水位流量曲線的手工延長
手工方式工作量繁重[2],且精度無法確定。在普通方格紙上,縱坐標是水位,橫坐標是流量,點繪的水位流量關(guān)系點據(jù)密集,分布成一帶狀,75%以上的中高水流速儀測流點據(jù)的平均關(guān)系線的偏離不超過±5%,且關(guān)系點沒有明顯的系統(tǒng)偏離,這時即可通過點群中心定一條單一線。點圖時,在同一張圖紙上依次點繪水位流量、水位面積、水位流速關(guān)系曲線,并用同一水位下的面積與流速的乘積,校核水位流量關(guān)系曲線中的流量,使誤差控制在±2%~±3%。以上3條曲線比例尺的選擇,應(yīng)使它們與橫軸的夾角分別近似為45°、60°、60°,且互不相交[1]。
1.2 水位流量曲線Matlab延長
Matlab是美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境.在輸入輸出方面,可以直接向Excel和HDF5進行連接[4]。Cftool是Matlab簡單實用而強大的曲線擬合工具箱,支持多種關(guān)系曲線模型,如線性、多項式、冪函數(shù)等。實際應(yīng)用時從這些曲線擬合方法中選擇最優(yōu)的作為結(jié)果,由于水位流量曲線的特殊性,應(yīng)用時采用人機交互界面是Matlab的一個重大優(yōu)勢。
Matlab延長水位-流量曲線只需要運行獨立的M文件就可以實現(xiàn)曲線的繪制,cftool工具箱界面會給出曲線模型的具體表達式和擬合分析,還能實現(xiàn)圖形的輸出。
2 程序設(shè)計
利用Matlab平臺編制“manning1.m”,“manning2.m”,“manning3.m”,“manning4.m”,“stevens.m”5個M文件,分別用來繪制曼寧公式外延4種情況和斯蒂文斯法外延,并都保存在Matlab work子目錄中以便調(diào)用。
曼寧公式V=(R2/3S1/2)/n ? ? (1)
式(1)中:V為流速,R為水力半徑,S為水面比降,n為糙率
延長時,用上式計算流速,用實測大斷面資料延長水位面積關(guān)系曲線,從而達到延長水位流量的目的.計算流速時,因水力半徑R可用大斷面資料求得,故關(guān)鍵在于確定水面比降S和糙率n值。給出曼寧公式的一種情況,manning4.m,其他情況類似.
2.1 曼寧公式第4種情況
糙率n和水面比降S均沒有資料,則由(S1/2)/n=Q/(AR2/3),畫出Z~S1/2/n 曲線 并延長(Z比較大時,S1/2/n趨近于常數(shù))則由Q=(AR2/3S1/2)/n求出Q。
利用Matlab平臺編制的M文件,manning4編程和變量解釋如下:
Z=input('請輸入水位:');
Q1=input(‘請輸入流量:);% 只需輸入已知水位對應(yīng)流量
A=input(‘請輸入斷面面積:);
R=input(‘請輸入水力半徑:);
m1=length(Q1); %求出流量數(shù)組的長度
Z1=Z(:,1:m1); %Z1為已知流量對應(yīng)的水位
Z2=Z(:,m1+1:end); %Z2為未知流量對應(yīng)的水位
A1=A(:,1:m1);
A2=A(:,m1+1:end);
R1=R(:,1:m1);
R2=R(:,m1+1:end);
y1=Q1./(A1.*R1.^(2/3));
p1=polyfit(Z1,y1,3); %由于只能由已知水位Z求y1,故根據(jù)y1~Z1散點大致形狀選擇合適多項式擬合次數(shù)
y2=polyval(p1,Z2); %根據(jù)擬合出曲線求未知流量水位對應(yīng)的y2
Q2=A2.*R2.^(2/3).*y2;
Q=[Q1,Q2]; %將Q1,Q2合并為一個數(shù)組
cftool(Q,Z); ?%用擬合工具擬合Q,Z
2.2 斯蒂文斯法
由謝才流速公式導(dǎo)出流量為Q=CA(RS)1/2 式中:C為謝才系數(shù),其余符號同前.
對于斷面無明顯沖於,水深不大但水面較寬的河槽,以斷面平均水深h代替R,則上式可改寫為Q=CA(hS)1/2=KAh1/2
式中,K=CS1/2,高水時其值接近常數(shù)。故高水時Q-Ah1/2呈線性關(guān)系,據(jù)此外延.由大斷面資料計算Ah1/2并點繪不同高水位Z在Z-Ah1/2曲線上查得Ah1/2值,并以Q-Ah1/2曲線上查得Q值,根據(jù)對應(yīng)的(Z,Q)點據(jù),便可以實現(xiàn)水位與流量關(guān)系曲線的高水延長。
利用Matlab平臺編制的M文件,stevens編程和變量解釋如下:
Z=input('請輸入水位:');
Q1=input('請輸入流量:');%只需輸入已知水位對應(yīng)流量
A=input('請輸入斷面面積:');
h=input('請輸入水力半徑或斷面平均水深:');
m1=length(Q1); %求出流量數(shù)組的長度
A1=A(:,1:m1);
A2=A(:,m1+1:end);
h1=h(:,1:m1);
h2=h(:,m1+1:end);
m2=A1.*h1.^(1/2);
p1=polyfit(m2,Q1,1); %由于高水時Q1-m2呈線性關(guān)系,所以擬合次數(shù)為1
m3=A2.*h2.^(1/2); %計算未知流量大斷面的Ah1/2值
Q2=polyval(p1,m3); %根據(jù)擬合出曲線求未知流量水位對應(yīng)的流量
Q=[Q1,Q2]; %將Q1,Q2合并為一個數(shù)組
cftool(Q,Z); %用擬合工具擬合Q,Z
3 實例
某水文站的水位流量資料如表1所示。
用stevens法實現(xiàn)水位流量曲線的過程如下:
在Command Window運行“stevens”M文件后,窗口會提示輸入變量,將表格中變量復(fù)制到窗口中后,彈出“cftool”工具箱,選擇最合適的曲線模型,則出現(xiàn)水位流量曲線結(jié)果如圖1,得出的結(jié)果與實測結(jié)果誤差分析見表2。
4 結(jié)語
通過編寫5個M文件,分別實現(xiàn)曼寧公式四種情況和斯蒂文斯法水位-流量曲線外延,通過“cftool”工具箱選取合適的曲線模型擬合,通過實例分析,驗證了程序的正確性.本程序適用于水位-流量曲線高水延長的繪制,具有具有重復(fù)和可操作性,為水文學(xué)中水位-流量關(guān)系曲線延長的繪制提供了一種新的辦法.
參考文獻
[1]詹道江,徐向陽,陳元芳.工程水文學(xué)[M].北京:中國水利水電出版社,2009.
[2]池宸星.水位流量關(guān)系曲線的計算機輔助率定與應(yīng)用[J].水文,2009,29(1):38-41.
[3]陳曉波,高峰,王永偉,等.利用Excel規(guī)劃求解工具擬合“水位-流量”關(guān)系曲線[J].氣象水文海洋儀器,2013,2(2):62-65,97.
[4]徐金明.MATLAB實用教程[M].北京:清華大學(xué)出版社,北京交通大學(xué)出版社,2005.
(責(zé)任編輯:劉昀)