吳月勇 俞博威 曹 煜
(河海大學(xué) 港口海岸與近海工程學(xué)院,江蘇 南京 210098)
海岸動力學(xué)中常常要在實驗室水箱中通過造波機(jī)制造出波浪,主要對不規(guī)則波高的統(tǒng)計,但是通過造波機(jī)造出的波浪往往周期很短,往往最后的資料里有著較多數(shù)目的波高,給最后的統(tǒng)計造成困難。而MATLAB 具有高效的數(shù)值計算能力和圖形處理功能。通過MATLAB軟件的編程將其運(yùn)用到波浪采集中,可以大大減輕實驗者的負(fù)擔(dān),能夠快速的處理數(shù)據(jù)。
在采集波高時常常用到上跨零點法,所謂上跨零點法就是以平均水位為零線,把波面上升與零線相交的點作為起點。波形不規(guī)則地振動降到零線以下,接著又上升再次與零線相交,這一點作為該波的終點(也是下一個波的起點)。如橫坐標(biāo)是時間,則兩個連續(xù)上跨零點間的間距就是波的周期;若橫坐標(biāo)是距離,則此間距是這個波的波長。把這兩點間的波峰最高點到波谷最低點的垂直距離定義為波高。對于中間可能存在的小波動,只要不與零線相交就不予考慮。
在實際試驗中,由于各種誤差以及波浪的非線性性,得到的數(shù)據(jù)是十分繁雜的尤其是不規(guī)則波,幾乎沒有規(guī)律可言,若不用程序處理這幾乎是不可能完成的。
用MATLAB 來統(tǒng)計有效波高,程序精髓為上跨零點法,即data(n)*data(n+1)<0.波峰減波谷即為波高,將采集到的所有波高進(jìn)行排序,取前1/3 大波進(jìn)行算術(shù)平均,得到不規(guī)則波的有效波高。
在未用MATLAB 程序編寫前,我們大多只能手工畫圖,或者用excel 畫圖。前者一來數(shù)據(jù)太多難以繪圖,二來畫圖費時長。后者雖然具有一定的準(zhǔn)確性,但是應(yīng)用不夠方便,難以推廣。現(xiàn)在可以在電腦里內(nèi)置一個MATLAB 求波高程序,這樣在采集到數(shù)據(jù)時直接將數(shù)據(jù)運(yùn)行到程序上,直接得出結(jié)果,這樣既省時又省力,可以大大減輕實驗者負(fù)擔(dān)。
本文主要把MATLAB 運(yùn)用到運(yùn)用到實驗室波高采集中,用來處理繁雜的波浪數(shù)據(jù)。既方便又簡單。同時可以應(yīng)用到解決水位、點脈動壓力、面脈動壓力、拉力、三維總力、二維 流速、護(hù)舷、位移、溫度、應(yīng)變以及模擬電壓等試驗中。
[1]鄒志利.海岸動力學(xué)[M].4 版.北京:人民交通出版社,2009,12.
[2]張錚.MATLAB 程序設(shè)計與實例應(yīng)用[M].北京:中國鐵道出版社,2003,11.