convert hourly data to daily data
Mostrar comentarios más antiguos
Hi, I have a hourly time series and I want to convert them to daily data so that the daily data be the avarage of hourly data.
Also, I have some gap data. I want when there is no data in a specific hour, the code does not consider that especific time and just avarage the rest of that 24 hours to convert to avarage daily data.
1 comentario
Armin Azad
el 9 de Dic. de 2021
Respuestas (1)
Try this —
T1 = readtable('https://www.mathworks.com/matlabcentral/answers/uploaded_files/829100/Norwalk2_012095493_ready.xlsx', 'VariableNamingRule','preserve')
TT1 = table2timetable(T1)
TT1dm = retime(TT1,'daily',@(x)mean(x,'omitnan'))
TT1ds = retime(TT1,'daily',@(x)std(x,'omitnan'));
N = size(TT1dm,1);
dt = TT1dm.datetime;
dts = string(dt);
mv = TT1dm.discharge;
sv = TT1ds.discharge;
xv = 1:numel(dts);
figure
semilogy(xv, mv, '-b')
hold on
plot(xv, mv+(sv/sqrt(N))*1.96, ':r') % Optional
plot(xv, mv-(sv/sqrt(N))*1.96 , ':r') % Optional
hold off
grid
xt = xticks;
xtv = fix(linspace(min(xv), max(xv), numel(xt)));
set(gca, 'XTick',xtv, 'XTickLabel',dts(xtv))
xlim([min(xtv) max(xtv)])
legend('Daily Mean','±1.96 SEM', 'Location','best')
.
Categorías
Más información sobre Data Type Conversion en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
