Generating Daily Values using Hourly Values

5 visualizaciones (últimos 30 días)
Ugur Acar
Ugur Acar el 18 de Oct. de 2019
Comentada: Ugur Acar el 18 de Oct. de 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;
raw(i,1)=datenum(Excel_data(i,1),Excel_data(i,2),Excel_data(i,3));
corrected(i,1)=datenum(Excel_data(i,1),Excel_data(i,2),Excel_data(i,3))-raw(1,1)+1;
corrected(i,2)=Excel_data(i,5);
end
Then i have,
corrected=8760x2
After this point, for example, i need calculate daily average temperature for day 1, day 2 ....day 365 at this step.
it needs to look like this;
but i couldnt manage to get a table seems like above.
  2 comentarios
Andrei Bobrov
Andrei Bobrov el 18 de Oct. de 2019
here attach your data (your xlsx-file)
Ugur Acar
Ugur Acar el 18 de Oct. de 2019
i attached the data for 5 years.

Iniciar sesión para comentar.

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 18 de Oct. de 2019
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 comentario
Ugur Acar
Ugur Acar el 18 de Oct. de 2019
thank you for your suggestion, i didnt know about timetable function, it looks like it will solve the problem, i will try thanks ;)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Dates and Time en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by