As in comment by Sebastian Bomberg's (for MATLAB >= R2016b):
TT = array2timetable(A,'RowTimes',(datetime(2018,1,1,0,0,0):minutes(5):datetime(2018,12,31,23,55,0))');
TT_hourly_mean = retime(TT,'hourly','mean');
if MATLAB <= R2016a:
[y,m,d,h,~,~] = datevec((datetime(2018,1,1,0,0,0):minutes(5):datetime(2018,12,31,23,55,0))');
T = [table(y,m,d,h),array2table(A)];
T_hourly_mean = varfun(@mean,T,'GroupingVariable',{'y','m','d','h'});
Best Answer