how can i convert hourly data for a year to daily data?

2 views (last 30 days)
my data start from 1:1:8760 how can i chnge it to daily data with 365 data instead of 8760
  1 Comment
Ingrid
Ingrid on 3 Jun 2015
depends on what you want to do? How do you want to make the conversion. Do you require daily average, daily maximum, daily minimum, value at noon each day, ....

Sign in to comment.

Accepted Answer

Salaheddin Hosseinzadeh
Salaheddin Hosseinzadeh on 3 Jun 2015
Hi Abdulla,
You may wanna have a look at reshape() function.
Put your data in a column, (apparently its a vector now)
data = data(:); this is one way to make a single column
Than you can reshape your column to a matrix of 360 X N if you like. However 8760 does not generate an integer if divided by 360, so I suggest you pad your data first of all with required number of zeros.
So finally you will have a 360xN data where N is the number of years (about 25 years of data). But keep in mind you will end up with a Matrix.
Hope this helps.
  3 Comments
Salaheddin Hosseinzadeh
Salaheddin Hosseinzadeh on 3 Jun 2015
Abdulla,
I think I forgot that we've 365 days in a year! I confused with 2Pi or 360 degrees! lol
I need to practice the number of finger in one hand, number of days in a month and ... LOL
Anyhow, hope you're problem is solved now that you kindly accepted my answer.
Good luck
ABDULLA RAHIL
ABDULLA RAHIL on 12 Jun 2015
many thanks for your answer but I am struggling to do that even I tried many times , i will send the file to you and see if it is possible or not

Sign in to comment.

More Answers (1)

Albatross
Albatross on 12 Jun 2015
I suspect you want to do something like this:
a=1:1:8760;
b=reshape(a,24,365)'

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!