Generating Daily Values using Hourly Values
1 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Andrei Bobrov
2019 年 10 月 18 日
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];
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Dates and Time についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!