How to convert 3 hourly data into a 6 hourly data?
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Arun Nair
el 17 de Mayo de 2019
Comentada: Arun Nair
el 19 de Mayo de 2019
I have a 3D variable (time,latitude,longitude) every 3hourly (regular). I need to change this variable into 6 hourly by averaging (eg, 0hr and 3hr of old variable averaged, and stored as first time step in the new variable). In total my old variable has 56 time steps. How should I go about?
0 comentarios
Respuesta aceptada
Andrei Bobrov
el 17 de Mayo de 2019
Editada: Andrei Bobrov
el 18 de Mayo de 2019
In R2016b
[m,n,k] = size(A);
t = hours(0:3:(k-1)*3);
Ar = reshape(A,m,[]);
TT = table2timetable(array2table(Ar),'RowTime',t(:));
T1 = retime(TT,TT.Time(1:2:end),'mean');
out = reshape(T1{:,:},[],n,k);
add:
[m,n,k] = size(A);
t = hours((0:m-1)*3)';
o1 = varfun(@mean,array2table([floor(t / hours(6)) + 1,reshape(A,m,[])]),...
'GroupingVariables','Var1');
out = reshape(o1{:,3:end},[],n,k);
3 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Power and Energy Systems 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!