Convert 10-minute wind data into hourly wind data

1 visualizzazione (ultimi 30 giorni)
Hi,
I have wind data as attached, and have read it in so that
Speed - 52561x1 double
TimeStep - 52561x1 datetime
I can't figure out how to convert this data into hourly averaged data. I've tried it in excel using pivot tables but can't get the format correct so i have turned to Matlab. I have attempted multiple methods from previous questions but not very savvy with Matlab so keep getting errors. Hopefully someone can help
Thanks in advance

Risposta accettata

Adam
Adam il 15 Set 2015
Assuming you do not have any missing times you should just be able to trim off one value from your results to have a data set of size divisible by 6 and then something like:
speeds = reshape( speed, 6, [] );
speedAvg = mean( speeds );
If you have gaps in your time array then you will, of course, need to do something more complicated to deal with those.
  2 Commenti
Tadgh Cullen
Tadgh Cullen il 15 Set 2015
That works great for the speed. How could I apply this to get the corresponding timestep? I.e basically just list out the timestep every hour in the format DD/MM/YY HH/MM?
Adam
Adam il 15 Set 2015
You should be able to reshape your datetime array in exactly the same way. I've never really used datetime though so I'm not too familiar with all its different formats, but there are quite a few examples for formatting on the help page.
TimeStep.Format = 'dd/MM/yy HH:mm';
seems to do the job I think.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Multidimensional Arrays in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by