主办单位:全国创争活动指导协调小组 中华职工学习网首页 情景站 联系电话:010-68232149
科学研究人员 | 工程技术人员 | 购销人员 | 仓储人员 | 运输服务人员 | 体育工作人员 | 教学人员 | 购销人员

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

http://www.51xue.org.cn  2007/6/11 源自:中华职工学习网 【字体: 字体颜色

摘要:Excel是办公自动化软件Office的重要组成部分之一,是Windows操作平台上的电子表格软件,具有强大的制作表格、处理数据、分析数据、创建图表等功能,在日常生活工作中得到了大量的应用。目前陕西水文工作正向自动测报迈进,但仍有不少水文测验项目是人工测量,计算。利用Excel来进行一些水文要素的计算,不但适应了现阶段工作要求,还提高了工作效果。 

关键词:Excel 流量 泥沙 计算 


  电子表格Excel有很多版本,现在以使用最广的Excel 2000在北洛河头水文站的使用,来谈谈它在水文要素计算中的应用。
1. Excel2000的运行 
  软件运行环境:Windows 98、Windows Me、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 TorV As 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 = "有效位数不能太多"
GoTo ExitFn
End If
If DIG = 1 And Int(.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)) > 0 Then
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电子表格计算的方法,由于直观符合手算要求,提高了工作效率,经在状头站试用大家普遍能接受。同时体会到一般职工,大可不必对计算机畏惧,即使不懂英语,只要认真学习,勤于动脑,同样能用一些应用软件来解决工作中的实际问题,这样才能从真正意义上使计算机在我们测报工作得到普遍应用。以上见解由于时间仓促、水平有限肯定有很多不足敬请指正。

  相关链接
  相关评论