how to make hourly average

I have data in excel file The first column is date with format 1/01/2005 1:00 until 1/01/10 0:00 including 366 days on leap year. The second column is gas demand in cubic meters. What I want to ask are: 1. How to make average for each hour for every for month? (x=00.00-23.00; y= gas demand; curve = jan-april, may-august, and sept-dec). 2. How to make average for each day on the week?(x=Monday, Tuesday, Wednesday, ... Sunday; y=gas demand). Any help is appreciated. Thank you

1 Kommentar

Jan
Jan am 2 Jul. 2013
Is this really an Excel file and do you want to perform the calculations in Matlab? Is "1/01/2005 1:00" a text string inside an CSV-file or the rqw data replied as 3rd output from XLSREAD? Did you import the file already?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Andrei Bobrov
Andrei Bobrov am 4 Jul. 2013
Bearbeitet: Andrei Bobrov am 4 Jul. 2013

0 Stimmen

h0 = cumsum(ones((datenum(2010, 1, 1)-datenum(2005, 1, 1))*24,1));
d0 = datenum(2005,1,1,h0,0,0); % Let your date
d2 = datevec(d0);
data = randi(125,numel(d0),1); % Let your data
[~,iI1] = histc(d2(:,2),[1 5 9 inf]);
valueI = accumarray([d2(:,4)+1, iI1],data,[],@mean); % first part of your question
iII = weekday(d0);
xII = mod(iII - 2,7)+1;
valueII = accumarray(xII,data,[],@mean); % second part of your question

Gefragt:

am 1 Jul. 2013

Community Treasure Hunt

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

Start Hunting!

Translated by