How to convert 3 hourly data into a 6 hourly data?
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Arun Nair
il 17 Mag 2019
Commentato: Arun Nair
il 19 Mag 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 Commenti
Risposta accettata
Andrei Bobrov
il 17 Mag 2019
Modificato: Andrei Bobrov
il 18 Mag 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 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Dynamic System Models in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!