Convert 10-minute wind data into hourly wind data

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

 Akzeptierte Antwort

Adam
Adam am 15 Sep. 2015

0 Stimmen

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 Kommentare

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?
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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Produkte

Gefragt:

am 15 Sep. 2015

Kommentiert:

am 15 Sep. 2015

Community Treasure Hunt

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

Start Hunting!

Translated by