Excel 在水文计算中的应用之研究

 

耿鸿江

(云南省水利水电学校,昆明,650202)

 

摘要:本文提出了用Excel软件解决水文计算中的涉及到特殊函数计算的方法,如P-Ⅲ型频率曲线、瞬时单位线和海森机率格纸等。实践证明,该途径计算准确、快捷和规范,有较高的实用价值。

关键词:Excel软件;P-Ⅲ型频率曲线;离均系数Φp瞬时单位线;S(t)曲线;海森机率格纸

   

    水文计算涉及到一些特殊函数,如P-Ⅲ型频率曲线和瞬时单位线中均是以不完全Г函数表示的,海森机率格纸是建立在正态分布基础上的。在使用这些特殊函数进行计算时,习惯上是查该函数或中间参数的数表,如P-Ⅲ型频率曲线离均系数Ф值表、纳须瞬时单位线S曲线表和海森机率格纸横坐标分格表等。查表不仅会因数值截断产生舍入误差和由参数内插产生方法误差,而且会使计算机的快速连续计算因此而中断,所以传统水文计算方法精度低,速度慢。近来许多学者探讨水文计算中这些特殊函数的解法问题,以期提高水文电算的精度和速度,但这些解法基本上是某理论方法的近似或逼近,相应的计算机算法较为复杂,不易被生产单位所掌握和运用,笔者经过深入研究发现,目前社会上广为普及的微软办公集成软件Office的组件之一Excel电子表格软件,可以很好地解决上述水文计算中所遇到的问题。实践证明,该途径计算准确、快捷,并满足标准化和规范化的要求。

一、P-型频率曲线计算的问题

1.    1  Φp值的计算

 P-Ⅲ型频率密度曲线方程式如下:

                              (1)

式中,                                                        (2)

                                                      (3)

                                               (4)

水文计算中需要的是超过频率P,即:

                           (5)

,则:

                  (6)

式中,                                                   (7)

由式(3)、(4)、(7)可得离均系数:

                                (8)

由式(8)有:

                                                       (9)

    可见,Φp值的计算是P-Ⅲ型频率曲线计算的核心。由式(6)和(8)可知,Φp值与CS和P有关,当CS一定时,Φp值仅是P的函数,福斯特于1924年用直接积分法及近似积分法算出了部分Φp值,之后有人对福斯特表进行了扩展和补充。八十年代后,为了研制频率计算计算机程序,一些学者试图通过近似求解不完全Г函数来解决计算Φp值的问题,但算法较复杂,精度也不十分理想。

Excel软件中,函数GAMMAINV为返回Γ偏态分布的累积函数的逆函数,即:

GAMMAINV(Pαβ) = x                                  (10)

式中,P为变量小于或等于x的频率;α为分布参数,β为分布参数,,当β=1时,为标准Γ分布。

函数GAMMAINV使用迭代法来计算。给定一个频率值,函数GAMMAINV开始迭代,直到结果精确到3×10-7。如果经过100次迭代后,函数GAMMAINV仍未收敛,软件返回错误值#N/A,如果计算结果溢出,则返回错误值#NUM!。

    对照式(6)、(8),有:

                          (11)

                                    (12)

    式中的P为超过频率,给定某一P和CS,用式(12)就可求得相应的Φp值。

1.    2  Φp值的检验

用式(12)重新计算Φp值表,当Cs=0时,改用标准正态分布函数的逆函数NORMSINV计算。CS取值范围:0~10,P的取值范围:0.0001%~99.99%。具体计算结果如表1所示。

1  用Excel软件计算Φp值的有效范围表

在表1的正常区内的Φp值与文献[1]完全一致,事实上发散区的Φp值已不随P的变化而变化,均和正常区的最后一个值相同。由于水文计算中,Cs基本都在0.1~7.3之,P<0.005%的情况很少见,所以用Excel软件计算Φp值完全能够满足生产上的要求。从公式的完整性考虑,本文的方法在P<0.005%,0<Cs<0.1和Cs>7.4的范围尚需进一步的探讨。

二、瞬时单位线的计算问题

河槽汇流的加里宁瞬时单位线和流域汇流的纳西瞬时单位线均是用不完全Г函数表示的,其一般形式如下:

                                            (13)

    式中,u(t)为单位线的纵高;t为时间;k为特征河长或线性水库的传播时间,常数;n为特征河长或线性水库的个数,常数。在应用瞬时单位线时,需通过瞬时单位线的累积曲线(即S曲线)把瞬时单位线转换成时段单位线,再进行汇流计算。

    可见,由参数n、k确定的瞬时单位线及S曲线的计算是瞬时单位线法汇流计算的关键,瞬时单位线的S曲线如下:

                               (14)

    式(14)已制成S(t/k,n)关系表,供生产部门查用。

    在Excel软件中,函数GAMMADIST是用来研究具有Γ偏态分布的变量。

语法:  GAMMADIST(xabcumulative)                 (15)

    式中,x为用来计算Γ分布的数值;ab为分布参数;如果b=1,函数GAMMADIST返回标准Γ分布;cumulative为一逻辑值,决定函数的形式。如果为FALSE,则返回概率密度函数: 

                                           (16)

如果cumulativeTRUE,函数GAMMADIST返回累积分布函数:

                    (17)

     式(15)中的x、αβ用瞬时单位线的t、n、k替换,当cumulativeFALSE时,得到的是瞬时单位线u(t);当cumulativeTRUE时,得到的是瞬时单位线的S曲线。

    经校核,函数GAMMADIST算得的各种n、k的S(t)值与文献[1]中纳须瞬时单位线S曲线表的结果完全一致。

三、海森机率格纸的问题

为了解决普通坐标纸上频率曲线两端曲率大,曲线不便外延的问题,1913年海森提出使用正态机率格纸,即以x为纵坐标,以为横坐标,使正态曲线在这种图纸上呈直线形式。尽管水文变量大多不呈正态分布,绘在海森机率格纸上的频率曲线仍是曲线,但曲率已大为减缓,所以生产上一直使用已印制好的海森机率格纸进行频率计算。八十年代以后,随着计算机的普及,水文频率计算由手工绘图到电脑绘示意图,由电脑示意图到自动绘制频率曲线,其中一个制约因素就是如何使电脑默认的普通坐标转换为海森机率坐标这一难题。而Excel软件却能很好地解决绘制海森机率格纸以及在其上标注频率点据,并绘制频率曲线的问题。

P0为坐标原点,用下式将频率P的直角坐标即可转换成海森机率格纸的横坐标D:

  D=NORMSINVP0)+NORMSINVP                        (18)

式中,函数NORMSINV为返回累积标准正态分布对应的自变量。

用式(18)对频率P的坐标进行转换,即能方便地绘制海森机率格纸,也能把水文变量的经验频率点据和理论频率曲线自动绘制在海森机率格纸上,调整统计参数和选配理论频率曲线“所见即所得”,还可直接输出设计值和规范的频率计算图纸。

目前,Excel软件的应用越来越广泛,但大多停留在制作表格和简单的图形处理,这些应用尚不及Excel软件功能的20%。本文仅对水文计算中的一些常用的关键算法做了深入的探讨,事实上,Excel软件在相关分析、回归计算、方差分析、水位流量及水位库容等曲线的拟合和检验、时间序列分析、建模与参数估计等方面都具有其独到之处,此处不再赘述。

参考文献:

[1]      耿鸿江.工程水文基础[M].北京:中国水利水电出版社,2002.

[2]      耿鸿江.Excel在P-Ⅲ型频率计算中的应用研究[J].水电能源科学,2002,20(3):41-43

[3]      耿鸿江,齐松茹.瞬时单位线的Ecxel快速算法[J].人民长江,2003,34(2):6-7

作者简介  耿鸿江(1964-),男(汉族),黑龙江哈尔滨人,于1991年毕业于河海大学,学士学位,云南省水利水利学校副校长,副教授,云南省职业教育水文水资源专业学科带头人。联系地址:昆明蓝龙潭云南省水利水电学校,650202,电话:0871-5224569,5225854(FAX),13888154358,E-mail:ghj@ynrd.com。