How to determine significant wave height from time series data in Matlab>

57 views (last 30 days)
Dear all,
I have time series from ocean waves and want to calculate the significant wave height by using Matlab. If you have experience in this topic, could you please to give me matlab script to solve that? Thank you for your helping

Answers (1)

rifat
rifat on 27 Apr 2014
I dont know what it means by "significant wave height". But if you are trying to detect the peaks in a time series then try the function mspeaks.
  1 Comment
Peter Mills
Peter Mills on 12 Jan 2018
Edited: Peter Mills on 12 Jan 2018
I am also trying to calculate the significant wave height. Significant wave height is the average of the highest one-third (33%) of waves [1]. Does anyone know of a function which will give the heights 1/3 of values from a data series? This might help: [2] https://uk.mathworks.com/matlabcentral/answers/22597-finding-the-position-of-the-1st-2nd-and-3rd-max-value-in-a-matrix
So say we have
WaveHeight=[3 1 5 2 3.1 6 5.5 3 2.5];
We need to find the highest 1/3:
HighestThird=[6 5.5 5]
HS= mean(HighestThird) %significant wave height
This code [2] will give the highest values
[max1, ind1] = max(WaveHeight);
WaveHeight(ind1) = -Inf;
[max2, ind2] = max(WaveHeight);
WaveHeight(ind2) = -Inf;
[max3, ind3] = max(WaveHeight);
WaveHeight(ind3) = -Inf;
But what if we what a function that will calculate the mean of the heights 1/3 of WaveHeight with
length(WaveHeight)
being a variable which may be large?

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!