Extraction of waves from surface elevation?

8 ビュー (過去 30 日間)
Leo Reith
Leo Reith 2016 年 8 月 30 日
コメント済み: Star Strider 2016 年 8 月 30 日
How would I go about extracting individual waves from surface elevation time series data? Basically I want to plot the x largest waves on one graph to compare, so would need them extracted individually.
Thanks for any help!!

回答 (1 件)

Star Strider
Star Strider 2016 年 8 月 30 日
Guessing here because I have no idea what your data actually are, but findpeaks comes quickly to mind.
  2 件のコメント
Leo Reith
Leo Reith 2016 年 8 月 30 日
Thanks for the reply! I basically have ocean surface elevation data with a known time step and actually want to split the data and extract the waves (wave constitutes an up-crossing to up-crossing). From what I know findpeaks is good at identifying and measuring maxima but would not allow me to actually plot these waves overlapping.
Star Strider
Star Strider 2016 年 8 月 30 日
My pleasure!
To get the troughs, use findpeaks on the negative of your data. This would give you the minima, that should be the beginning of the upslope of each wave.
If your data have high-frequency noise, filtering them first with a low-pass filter might work best. There are various ways to design filters in MATLAB, among them being designfilt. My procedure for IIR filters is here: How to design a lowpass filter for ocean wave data in Matlab?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeOceanography and Hydrology についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by