MATLAB Answers


Generating Daily Values using Hourly Values

Asked by Ugur Acar on 18 Oct 2019
Latest activity Commented on by Ugur Acar on 18 Oct 2019
i have hourly (8760h) temperature values of each year. I need to generate daily values using hourly values.
For example, i need to calculate some daily parameters like daily average temperature or daily maximum temprerature using hourly data.
Raw data is in a excel file. File format is like this;
After reading excel data, i used 'datenum' function to assign numeric value to each day. Then corrected the first day's numercal value to "1".
for i=1:8760;
Then i have,
After this point, for example, i need calculate daily average temperature for day 1, day 2 365 at this step.
it needs to look like this;
but i couldnt manage to get a table seems like above.


here attach your data (your xlsx-file)
i attached the data for 5 years.

Sign in to comment.

1 Answer

Answer by Andrei Bobrov
on 18 Oct 2019
 Accepted Answer

T = readtable('your_xlsx_file.xlsx');
t = datetime([T{:,1:4}, zeros(size(T,1),2)]);
TT = timetable(T{:,end},'RowTimes',t) ;
TT_mean = retime(TT,'daily','mean');
TT_max = retime(TT,'daily','max');
TT_out = [TT_mean,TT_max];

  1 Comment

thank you for your suggestion, i didnt know about timetable function, it looks like it will solve the problem, i will try thanks ;)

Sign in to comment.