测站测流时, 由于施测条件限制或其他种种原因, 致使最高水位的流量缺测或漏测。为取得全年完整流量过程, 必须进行高水时水位-流量关系的延长。高水延长的结果, 对洪水期流量过程的主要部分, 包括洪峰流量在内, 有重大影响, 因此延长需慎重[1]。池宸星[2]研究了水位流量关系曲线的计算机辅助率确定与应用。程晓波[3]等人研究了利用Excel规划求解拟合“水位-流量”关系曲线。但都只对已知“水位-流量”散点进行拟合并未延伸。本文对如何应用Matlab实现“水位-流量”关系曲线的高水延长进行了研究, 并给出了利用Matlab实现“水位-流量”曲线高水延长的M文件, 具有重复和可操作性。
1 水位流量曲线的延长
1.1 水位流量曲线的手工延长
手工方式工作量繁重[2], 且精度无法确定。在普通方格纸上, 纵坐标是水位, 横坐标是流量, 点绘的水位流量关系点据密集, 分布成一带状, 75%以上的中高水流速仪测流点据的平均关系线的偏离不超过±5%, 且关系点没有明显的系统偏离, 这时即可通过点群中心定一条单一线。点图时, 在同一张图纸上依次点绘水位流量、水位面积、水位流速关系曲线, 并用同一水位下的面积与流速的乘积, 校核水位流量关系曲线中的流量, 使误差控制在±2%~±3%。以上3条曲线比例尺的选择, 应使它们与横轴的夹角分别近似为45°、60°、60°, 且互不相交[1]。
1.2 水位流量曲线Matlab延长
Matlab是美国Math Works公司出品的商业数学软件, 用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境.在输入输出方面, 可以直接向Excel和HDF5进行连接[4]。Cftool是Matlab简单实用而强大的曲线拟合工具箱, 支持多种关系曲线模型, 如线性、多项式、幂函数等。实际应用时从这些曲线拟合方法中选择最优的作为结果, 由于水位流量曲线的特殊性, 应用时采用人机交互界面是Matlab的一个重大优势。
Matlab延长水位-流量曲线只需要运行独立的M文件就可以实现曲线的绘制, cftool工具箱界面会给出曲线模型的具体表达式和拟合分析, 还能实现图形的输出。
2 程序设计
利用Matlab平台编制“manning1.m”, “manning2m”, “manning3.m”, “manning4.m”, “stevens.m”5个M文件, 分别用来绘制曼宁公式外延4种情况和斯蒂文斯法外延, 并都保存在Matlab work子目录中以便调用。
曼宁公式V= (R2/3S1/2) /n (1)
式 (1) 中:V为流速, R为水力半径, S为水面比降, n为糙率
延长时, 用上式计算流速, 用实测大断面资料延长水位面积关系曲线, 从而达到延长水位流量的目的.计算流速时, 因水力半径R可用大断面资料求得, 故关键在于确定水面比降S和糙率n值。给出曼宁公式的一种情况, manning4.m, 其他情况类似.
2.1 曼宁公式第4种情况
糙率n和水面比降S均没有资料, 则由 (S1/2) /n=Q (AR2/3) , 画出Z~S1/2/n曲线并延长 (Z比较大时, S1/2n趋近于常数) 则由Q= (AR2/3S1/2) /n求出Q。
利用Matlab平台编制的M文件, manning4编程和变量解释如下:
Z=input ('请输入水位:') ;
Q1=input (‘请输入流量:’) ;%只需输入已知水位对应流量
A=input (‘请输入断面面积:’) ;
R=input (‘请输入水力半径:’) ;
m1=length (Q1) ;%求出流量数组的长度
Z1=Z (:, 1:m1) ;%Z1为已知流量对应的水位
Z2=Z (:, m1+1:end) ;%Z2为未知流量对应的水位
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, 故根据y1~Z1散点大致形状选择合适多项式拟合次数
y2=polyval (p1, Z2) ;%根据拟合出曲线求未知流量水位对应的y2
Q2=A2.*R2.^ (2/3) .*y2;
Q=[Q1, Q2];%将Q1, Q2合并为一个数组
cftool (Q, Z) ;%用拟合工具拟合Q, Z
2.2 斯蒂文斯法
由谢才流速公式导出流量为Q=CA (RS) 1/2式中:C为谢才系数, 其余符号同前.
对于断面无明显冲於, 水深不大但水面较宽的河槽, 以断面平均水深h代替R, 则上式可改写为Q=CA (h S) 1/2=KAh1/2
式中, K=CS1/2, 高水时其值接近常数。故高水时Q-Ah1/2呈线性关系, 据此外延.由大断面资料计算Ah1/2并点绘不同高水位Z在Z-Ah1/2曲线上查得Ah1/2值, 并以Q-Ah1/2曲线上查得Q值, 根据对应的 (Z, Q) 点据, 便可以实现水位与流量关系曲线的高水延长。
利用Matlab平台编制的M文件, stevens编程和变量解释如下:
Z=input ('请输入水位:') ;
Q1=input ('请输入流量:') ;%只需输入已知水位对应流量
p1=polyfit (m2, Q1, 1) ;%由于高水时Q1-m2呈线性关系, 所以拟合次数为1
m3=A2.*h2.^ (1/2) ;%计算未知流量大断面的Ah1/2值
Q2=polyval (p1, m3) ;%根据拟合出曲线求未知流量水位对应的流量
Q=[Q1, Q2];%将Q1, Q2合并为一个数组
cftool (Q, Z) ;%用拟合工具拟合Q, Z
3 实例
某水文站的水位流量资料如表1所示。
用stevens法实现水位流量曲线的过程如下:
在Command Window运行“stevens”M文件后, 窗口会提示输入变量, 将表格中变量复制到窗口中后, 弹出“cftool”工具箱, 选择最合适的曲线模型, 则出现水位流量曲线结果如图1, 得出的结果与实测结果误差分析见表2。
4 结语
通过编写5个M文件, 分别实现曼宁公式四种情况和斯蒂文斯法水位-流量曲线外延, 通过“cftool”工具箱选取合适的曲线模型拟合, 通过实例分析, 验证了程序的正确性.本程序适用于水位-流量曲线高水延长的绘制, 具有具有重复和可操作性, 为水文学中水位-流量关系曲线延长的绘制提供了一种新的办法.
摘要:水位-流量关系曲线的高水延长是流量信息处理的一个重要环节, 传统的人工方式工作量大, 且精度不高。在Matlab平台编写5个独立M文件, 分别实现曼宁公式4种情况和斯蒂文斯法水位-流量曲线外延, 并以某, 水文站水位流量实测资料为基础检验了方法的正确性, 为水文学中水位-流量关系曲线高水延长的绘制提供了一种新的办法。
关键词:水位-流量曲线,Matlab,曼宁公式,斯蒂文斯公式,高水延长
参考文献
[1] 詹道江, 徐向阳, 陈元芳.工程水文学[M].北京:中国水利水电出版社, 2009.
[2] 池宸星.水位流量关系曲线的计算机辅助率定与应用[J].水文, 2009, 29 (1) :38-41.
[3] 陈晓波, 高峰, 王永伟, 等.利用Excel规划求解工具拟合“水位-流量”关系曲线[J].气象水文海洋仪器, 2013, 2 (2) :62-65, 97.
[4] 徐金明.MATLAB实用教程[M].北京:清华大学出版社, 北京交通大学出版社, 2005.
【基于Matlab水位-流量关系曲线的高水延长】相关文章:
水闸设计中闸下水位-流量关系的计算分析09-11
等边三角形的高与边长的关系04-16
基于无模型自适应改进算法的汽包水位控制09-11
基于vsphereHA的高可用企业数据中心建设探究10-17
基于三个本质建设的高突老化矿井安全管理04-17
基于《标准》的高师教育技术公共课教学内容体系建设研究03-01
基于MATLAB的等值面图形绘制09-10
基于MATLAB的静电场描绘实验仿真09-10
基于Matlab的图像处理的研究10-28