Excel在水文要素计算中的应用

发表日期:2006-02-07 浏览人数: 作者:王晓斌 来源:网络收集  评论
电子表格Excel有很多版本,现在以使用最广的Excel 2000在北洛河头水文站的使用,来谈谈它在水文要素计算中的应用

电子表格Excel有很多版本,现在以使用最广的Excel 2000在北洛河头水文站的使用,来谈谈它在水文要素计算中的应用。

1. Excel2000的运行 

软件运行环境:Windows 98、WindowsMe、Windows 2000、Windows XP。硬件环境:一般现在的计算机都能满足,只要能安装Windows 98即可,没有特别要求。除安装Excel 2000外,还应安装Visual Basic6.0。这样就可以创建自定义函数解决数据处理上的一些问题。

2. 问题处理

  以前西安水文局就有人将Excel制作的电子表格用于水流沙计算。目前为提高资料精度《水文资料整编规范》SL247-1999中规定水文数据采用“四舍六入,逢五奇进偶舍”的方法处理,同时还限制了相应的有效数字位数。这对于用电子表格计算水文资料提出了高的要求,最好的解决办法是利用Visual Basic编写的自定义函数和Excel内置函数来解决数据处理问题。其中对“四舍六入”的处理自定义函数为:

Function jinghe(num As Double, DIG As Byte, Optional TorVAs Boolean) As Variant

Dim Temp1 As Double

Dim TFM As String

Dim Temp2 As String

Dim Tempoff As Double

If num = 0 Then

Temp1 = 0

Temp2 = "0"

GoTo ExitFn

End If

With Application.WorksheetFunction

If num < 0.1 Then

DIG = DIG - 1

End If

Tempoff = Abs((--Right(num / 10^ (Int(.Log(Abs(num))) - DIG + 1), 2) = 0.5) _

* ((--Right(Int(Abs(num) / 10 ^(Int(.Log(Abs(num))) - DIG + 1)), 1) _

Mod 2) = 0)) * 10 ^Int(.Log(Abs(num)) - DIG + 1)

Temp1 = .Round(Abs(num),-(Int(.Log(Abs(num))) - DIG + 1))

Temp1 = Temp1 - Tempoff

Trn = Trn And (10 ^Int(.Log(Temp1)) = Temp1 And Temp1 > Abs(num))

If DIG > 14 And Trn Then

Temp2 ="有效位数不能太多"

GoToExitFn

End If

If DIG = 1 AndInt(.Log(Abs(Temp1))) = 0 And Not Trn Then

TFM =""

Else

If Not(DIG = 1 And Int(Temp1) = Temp1 And Not Trn) Then TFM = TFM & "."

TFM =TFM & .Rept("0", DIG + Abs(Trn) - 1)

End If

TFM = "0" & TFM

If Int(.Log(Temp1)) < 0 Then

TFM =TFM & .Rept("0", -Int(.Log(Temp1)))

ElseIf Int(.Log(Temp1)) > 0Then

TFM =TFM & "E+###"

End If

Temp1 = Temp1 * Sgn(num)

Temp2 = .Text(Temp1, TFM)

End With

ExitFn:

If TorV Then

jinghe = Temp2

Else

jinghe = Temp1

End If

End Function

自定义函数形式为:jinghe(数值,保留有效位数,返回文本或数值),其中根据头站特点对数值小于1时的情况已作了设定,在流量、泥沙数据计算过程中应用良好。

3. 流量、输沙率计算

用 Excel创建流量计算表(详见附表一“头(四)站测深、测速记载及流量计算表”),其中在宏中加入以上自定义函数,在计算中符合四舍六入的要求,表下方的统计栏极值挑选采用max函数在测得水深、测点流速中自动挑选。一般一个站的测流垂线基本固定,这样再次使用只需把起点距、测得水深、信号个数、历时输入表格中相应空格,流量就会顷刻算出,完全符合规范要求。输沙率计算(见附表二)比流量计算简单,方法基本同流量计算。

4. 关系曲线检验及标准差计算

按照《水文资料整编规范》SL247-1999规定水位流量、单断沙关系曲线,关系点在10各以上就必须进行三种检验和标准差计算。利用Excel表格制作计算表(见附表三、四:头(四)站2005年单断沙关系曲线检验及标准差计算表,水位流量与此相同在此不再赘述),其中点据数n统计采用COUNT(B5:B34),正负号统计采用COUNTIF(G5:G34,"+"),计算过程采用了四舍六入自定义函数。再次使用时只要输入断沙实测和查线点据,第二张的标准差、不确定度计算立马产生。

5. 结 语

在头站Excel还用于断面图绘制,报汛曲线绘制等方面。另外目前网上可以看到不少编制好的流量、标准差计算程序。但是我们的测站计算机刚开始普及,符合陕西水文计算要求,职工容易掌握,与手工计算表格、方法、流程相适应的却很少。以上利用Excel电子表格计算的方法,由于直观符合手算要求,提高了工作效率,经在状头站试用大家普遍能接受。同时体会到一般职工,大可不必对计算机畏惧,即使不懂英语,只要认真学习,勤于动脑,同样能用一些应用软件来解决工作中的实际问题,这样才能从真正意义上使计算机在我们测报工作得到普遍应用。以上见解由于时间仓促、水平有限肯定有很多不足敬请指正。

[责任编辑:tuzhi]

推荐给好友评论】【收藏】【 】【打印】【关闭

用户名: *(必填) 密码:

验证码: *(必填)