陳 靚朱慶云王書亮
(1.江蘇省秦淮河水利工程管理處,江蘇南京 210001;2.江蘇省水文水資源勘測局南京分局,江蘇南京210008;3.江蘇省水文水資源勘測局鹽城分局,江蘇鹽城 224000)
對于影響因素復(fù)雜的繩套型水位流量關(guān)系,人們常常難以找到一個解析表達(dá)式來表示它們之間的關(guān)系,在此情況下,常用連時序法定線,即:手工繪制水位流量關(guān)系曲線。筆者較為詳細(xì)地討論了繩套型水位流量關(guān)系的成因及其常見定線方法,在此基礎(chǔ)上,通過實(shí)例介紹了利用三次樣條插值進(jìn)行繩套水位流量關(guān)系定線的方法,并編寫Matlab程序由計(jì)算機(jī)代替人工完成繁瑣的手工作業(yè)。同時,還對人工推算值和樣條插值計(jì)算值進(jìn)行了誤差分析,分析表明,插值流量與人工推算流量的相對誤差很小。對于處理繩套型水位流量關(guān)系,基于MATLAB的三次樣條插值具有簡便實(shí)用的特點(diǎn)。
對于不穩(wěn)定的水位流量關(guān)系,其影響因素較多,而繩套型水位流量關(guān)系的形成,主要有以下三種情況:
(1)受變動回水影響。當(dāng)支流測站受干流漲水的頂托;干流測站受下游支流漲水的頂托;下游水庫、湖泊、海洋等水體水位的變化引起的頂托;下游渠道閘門的啟閉;下游河道壅水或者因水草產(chǎn)生阻力時,測流斷面的水面比降受到影響,將引起流量變化,使得水位流量關(guān)系點(diǎn)分布散亂。在受變動回水影響時,水位流量關(guān)系不僅與本站水情有關(guān),還與下游水體的水情變化有關(guān)。隨著下游水體對測站影響程度的變化,水位流量關(guān)系曲線的走向也不同,有些呈現(xiàn)順時針繩套,有些呈現(xiàn)逆時針繩套,還有的呈現(xiàn)“8”字或者反“8”字形繩套。
(2)受洪水漲落影響。在洪水漲落過程中,由于洪水波傳播引起的附加比降不同,使得斷面上的流量和同水位穩(wěn)定的流量相比產(chǎn)生有規(guī)律的增大或者減小。洪水上漲時,其漲率為正,則附加比降為正,其流量大于同水位的穩(wěn)定流流量;落水時的漲率為負(fù),其流量小于同水位的穩(wěn)定流流量。這樣,一次洪水漲落過程的水位流量關(guān)系曲線就呈現(xiàn)為一逆時針繩套曲線。
(3)受綜合因素影響。在受到上述兩種因素的綜合影響時,水位流量關(guān)系也會呈現(xiàn)繩套關(guān)系。
繩套型水位流量關(guān)系的定線方法可以總結(jié)為:
(1)對于受變動回水影響的測站,可根據(jù)具體情況采用等落差法、定落差法、落差指數(shù)法定線推流。
(2)對于受洪水漲落影響的測站,可根據(jù)具體情況采用校正因素法、低償河長法定線推流。
(3)對于以上兩種情況,也可以采用連時序法定線推流。當(dāng)影響因素復(fù)雜,難以用找到函數(shù)表達(dá)式來近似表達(dá)水位流量關(guān)系時,常常采用連時序法。
在大量的應(yīng)用領(lǐng)域中,人們經(jīng)常面臨用一個解析函數(shù)描述數(shù)據(jù)(通常是測量值)的任務(wù)。插值與數(shù)據(jù)擬合是非常實(shí)用的數(shù)值方法,是函數(shù)逼近的重要手段。在工程生產(chǎn)和科學(xué)試驗(yàn)中,自變量x與因變量y的函數(shù)關(guān)系式有時不能直接寫出,而只能得到函數(shù)在若干個點(diǎn)的函數(shù)值或?qū)?shù)值。當(dāng)要求知道觀測點(diǎn)之外的函數(shù)值時,需要估計(jì)函數(shù)值在該點(diǎn)的值。因此,通過已有數(shù)據(jù)信息構(gòu)造出函數(shù)表達(dá)式尤為重要。
插值是和拉格朗日(Lagrange)、牛頓(Newton)、高斯(Gauss)等著名數(shù)學(xué)家的名字連在一起的,它最初來源于天體計(jì)算的需要。比如:人們得到了若干觀測值,即某個星球在若干已知時刻的位置,需要計(jì)算星球在另外一些時刻的位置。所謂插值,通俗地說就是,在若干已知數(shù)值之間插入計(jì)算一些未知的函數(shù)值。
插值問題的提法是,已知n+1個節(jié)點(diǎn)(xj,yj)(j=0,1,…,n),其中xj互不相同,不妨設(shè)a=x0 求解的思路是,構(gòu)造一個相對簡單的函數(shù)y=f(x),稱為插值函數(shù),使f通過全部節(jié)點(diǎn),即:f(xj)=y(tǒng)j(j=0,1,…,n),再用 f(x)計(jì)算插值,即:y*= f(x*)。 常用的基本插值方法包括拉格朗日多項(xiàng)式插值、分段線性插值和三次樣條插值。 拉格朗日多項(xiàng)式插值中,隨著節(jié)點(diǎn)數(shù)的增加,插值函數(shù)會出現(xiàn)很大的振蕩,即:龍格現(xiàn)象;分段線性插值是將相鄰的兩個點(diǎn)用直線連接起來,其所形成的一條折線就是線性插值函數(shù)。因此,筆者只討論三次樣條插值法。 所謂樣條(spline),來源于船舶、飛機(jī)等設(shè)計(jì)中描繪光滑外形曲線用的繪圖工具。一根有彈性的細(xì)長木條用壓鐵固定在節(jié)點(diǎn)上,其它地方自然彎曲,如此畫出的曲線稱為樣條曲線。人們普遍使用的樣條函數(shù)是分段三次多項(xiàng)式。 三次樣條函數(shù)的定義是:函數(shù)S(x)∈C2[a,b],且在每個小區(qū)間[xj,xj+1]上是三次多項(xiàng)式,其中,a=x0 圖1 水位流量繩套關(guān)系曲線 (1)將繩套曲線分解為漲水支線和落水支線,分解時一般以峰頂、峰谷為分解點(diǎn),把分解出的漲水、落水曲線當(dāng)作單一曲線進(jìn)行插值。 (2)由于受閘門控制影響,水位在上漲、下落過程出現(xiàn)下降或者回升時,需要分解處理為折線,這樣的處理與人工繪制過程線處理方式大體一致,但人工處理時轉(zhuǎn)折處會稍微圓滑一些。 (3)復(fù)雜的繩套水位流量關(guān)系曲線可以看作若干單一曲線的組合,用插值法處理時,就是把復(fù)雜的水位流量關(guān)系曲線分解為若干單一曲線之后分別插值。 (4)推求流量時,需要注意水位與單一曲線的對應(yīng)。 筆者實(shí)例選取的資料是滁河曉橋水文站2010年的一次實(shí)測洪水過程,該次洪水從9月2日22∶00起漲,9月7日21∶30后落平。 由于受上游襄河口閘以及下游汊河集閘的控制,該站水位流量關(guān)系主要受變動回水影響,呈順時針繩套,可用連時序法定線。 利用連時序定線繪制水位流量關(guān)系,受人為因素影響,繪制的繩套曲線會有差異,過程也比較繁瑣。 為了解決這一問題,筆者利用三次樣條插值法,編寫Matlab程序,由計(jì)算機(jī)完成定線推流。 編寫的Matlab程序如下: %曉橋洪水過程三次樣條插值程序(可同時繪制水位面積、水位流速關(guān)系曲線) A=xlsread(′xiaoqiao2′); %sw=A(:,2), %ll=A(:,3), %mj=A(:,4), %ls=A(:,5), %subplot(2,2,1) %plot(ll,sw) %subplot(2,2,2) %plot(mj,sw) %subplot(2,2,3) %plot(ls,sw) x1=A ([2:10],2) %input stage data y1=A([2:10],3) %input discharge data x11=x1(1):0.01:x1(9), y11=interp1(x1,y1,x11,′spline′), x2=A([10:16],2) %input stage data y2=A([10:16],3) %inputdischarge data i=1:7 j=8-i xx2(i)=x2(j) yy2(i)=y2(j) x22=xx2(1):0.01:xx2(7), y22=interp1(xx2,yy2,x22,′spline′),%subplot(2,2,4) plot(y1,x1,′o′,y11,x11,y2,x2,′o′,y22,x22) 圖1為Matlab程序繪制的水位流量繩套關(guān)系曲線。由圖1可以看出,插值得到的曲線線條光滑,趨勢合理。 表1為人工定線流量與插值流量相對誤差計(jì)算表。結(jié)果表明,最大相對誤差絕對值為0.65%,表中人工定線流量采用水文資料整編正式成果。 表1 人工定線流量與插值流量相對誤差計(jì)算表 基于MATLAB程序的三次樣條插值可以用于處理繩套水位流量關(guān)系,由計(jì)算機(jī)代替人工完成水位流量關(guān)系的定線和推流,處理方法簡單實(shí)用。在本文實(shí)例中,樣條插值流量與人工推算流量之間的相對誤差最大值為0.65%,誤差值很小,且兩者之間不存在系統(tǒng)誤差。對于復(fù)雜的繩套水位流量關(guān)系曲線,可以將其看作若干單一曲線的組合,將其分解為若干單一曲線之后分別插值,而每一條單一曲線的插值方法和本文實(shí)例完全相同。5 三次樣條插值處理繩套曲線應(yīng)該注意的問題
6 三次樣條插值定線實(shí)例
7 誤差分析
8 結(jié)語