吴月勇 俞博威 曹 煜
(河海大学 港口海岸与近海工程学院,江苏 南京 210098)
海岸动力学中常常要在实验室水箱中通过造波机制造出波浪,主要对不规则波高的统计,但是通过造波机造出的波浪往往周期很短,往往最后的资料里有着较多数目的波高,给最后的统计造成困难。而MATLAB 具有高效的数值计算能力和图形处理功能。通过MATLAB软件的编程将其运用到波浪采集中,可以大大减轻实验者的负担,能够快速的处理数据。
在采集波高时常常用到上跨零点法,所谓上跨零点法就是以平均水位为零线,把波面上升与零线相交的点作为起点。波形不规则地振动降到零线以下,接着又上升再次与零线相交,这一点作为该波的终点(也是下一个波的起点)。如横坐标是时间,则两个连续上跨零点间的间距就是波的周期;若横坐标是距离,则此间距是这个波的波长。把这两点间的波峰最高点到波谷最低点的垂直距离定义为波高。对于中间可能存在的小波动,只要不与零线相交就不予考虑。
在实际试验中,由于各种误差以及波浪的非线性性,得到的数据是十分繁杂的尤其是不规则波,几乎没有规律可言,若不用程序处理这几乎是不可能完成的。
用MATLAB 来统计有效波高,程序精髓为上跨零点法,即data(n)*data(n+1)<0.波峰减波谷即为波高,将采集到的所有波高进行排序,取前1/3 大波进行算术平均,得到不规则波的有效波高。
在未用MATLAB 程序编写前,我们大多只能手工画图,或者用excel 画图。前者一来数据太多难以绘图,二来画图费时长。后者虽然具有一定的准确性,但是应用不够方便,难以推广。现在可以在电脑里内置一个MATLAB 求波高程序,这样在采集到数据时直接将数据运行到程序上,直接得出结果,这样既省时又省力,可以大大减轻实验者负担。
本文主要把MATLAB 运用到运用到实验室波高采集中,用来处理繁杂的波浪数据。既方便又简单。同时可以应用到解决水位、点脉动压力、面脉动压力、拉力、三维总力、二维 流速、护舷、位移、温度、应变以及模拟电压等试验中。
[1]邹志利.海岸动力学[M].4 版.北京:人民交通出版社,2009,12.
[2]张铮.MATLAB 程序设计与实例应用[M].北京:中国铁道出版社,2003,11.