MATLAB: How to convert hourly data to daily data by taking average of hourly data

calculate daily mean.

I have a mat file in which i have hourly data of PM2.5. My data is hourly data and i want to convert it into daily data by taking daily mean. My data is from (01-jan-2015 01:00:00 to 01-Sept-2018 00:00:00). and my file size(PM2.5) = 32136*1 and my new file size should be 1339*1, as it would convert 24 hours into 1 day. I am also attaching my file.
Any kind of help would be appreciated.
thank you.

Best Answer

load('PM_SD_CHENNAI.mat')
date1 = (datetime(2015,1,1,1,0,0):hours(1):datetime(2018,9,1,0,0,0))';
PM_SD_CHENNAI = PM_SD_CHENNAI(:);
TT = timetable(date1,PM_SD_CHENNAI);
TT_out = retime(TT,'daily','mean');
[ADD] for old MATLAB (R2016a):
load('PM_SD_CHENNAI.mat')
PM_SD_CHENNAI = PM_SD_CHENNAI(:);
date1 = (datetime(2015,1,1,1,0,0):hours(1):datetime(2018,9,1,0,0,0))';
a = datevec(date1);
[YMD,b,ii] = unique(a(:,1:3),'rows');
date_out = date1(b);
data_out = accumarray(ii,PM_SD_CHENNAI,[],@mean);
out = table(date_out,data_out);