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

2 Ansichten (letzte 30 Tage)
my data start from 1:1:8760 how can i chnge it to daily data with 365 data instead of 8760
  1 Kommentar
Ingrid
Ingrid am 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, ....

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Salaheddin Hosseinzadeh
Salaheddin Hosseinzadeh am 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 Kommentare
Salaheddin Hosseinzadeh
Salaheddin Hosseinzadeh am 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 am 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

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

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by