Average wind speed histogram

11 visualizaciones (últimos 30 días)
Dimitrios Bentis
Dimitrios Bentis el 31 de Ag. de 2017
Comentada: José-Luis el 31 de Ag. de 2017
My dataset consists of a time vector (30min step) a vector of wind speeds and a vector of wind directions.
I find the cases when wind direction is, for example, nort-northeast using x=find(WD>0&WD<60
and then i use histogram(T.Hour(x),[0 2 4 6 8 10 12 14 16 18 20 22 24]) to derive to a histogram of absolute frequencies of the north-northeast wind in each of the 2hour bins.
How can i plot a histogram with the average wind speed of this specific wind in each 2hour interval?

Respuesta aceptada

José-Luis
José-Luis el 31 de Ag. de 2017
t1 = datetime(2016,6,1,0,30,0);
t2 = datetime(2017,5,31,23,30,0);
t = t1:minutes(30):t2;
wind_dir = randi(360,numel(t),1);
wind = rand(numel(t),1);
idx = wind_dir >= 320 & wind_dir <=360;
t_sub = t(idx);
wind_sub = wind(idx);
result = accumarray(hour(t_sub).' + 1, wind_sub,[],@mean);
bar(result)
  2 comentarios
Dimitrios Bentis
Dimitrios Bentis el 31 de Ag. de 2017
Editada: Dimitrios Bentis el 31 de Ag. de 2017
It works! thank you very much!!
is there a way to have the average speed of 2hour intervals (as in the histogram with the frequencies) and not the average speed of each hour?
Once again thank you for your valuable help and guidance.
José-Luis
José-Luis el 31 de Ag. de 2017
result = accumarray(ceil((hour(t_sub)+1)./2).' , wind_sub,[],@mean);

Iniciar sesión para comentar.

Más respuestas (1)

José-Luis
José-Luis el 31 de Ag. de 2017
You could adapt a rose plot to your need. It is the "standard" way of showing wind direction distributions.
  5 comentarios
José-Luis
José-Luis el 31 de Ag. de 2017
Hard to answer if we don't know what your data look like. How is it stored? How's it structured?
Dimitrios Bentis
Dimitrios Bentis el 31 de Ag. de 2017
i have defined my time vector (t) as follows:
t1 = datetime(2016,6,1,0,30,0);
t2 = datetime(2017,5,31,23,30,0);
t = t1:minutes(30):t2;
the data that i have are 2 vectors corresponding to wind speed and direction (WS, WD)
then i used:
x=find(WD>=320&WD<=360);
to find when the desired wind occurs. then with
histogram(t.Hour(x),[0 2 4 6 8 10 12 14 16 18 20 22 24]);
i take the histogram i show above.
what i would like to plot now is the average wind speed of each the bins in the histogram above. In that histogram the bins represent frequency of occurrence.
Thank you for your fast responses.
*if something is unclear ask for clarification.

Iniciar sesión para comentar.

Categorías

Más información sobre Histograms en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by