how to do average over third dimension?
15 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Lilya
el 26 de Jul. de 2021
Comentada: Star Strider
el 26 de Jul. de 2021
Hi all,
I have multiple 3D matrices with the dimension of 21*41*24 for each which 24 (third dimension) is 24 hours.
I wanted to calculate 6 hours average for the third dimension.
Where I am mistaken?
NHours=size(ucom,3);
NDays=NHours/6;
out = nanmean(permute(reshape(ucom,[6,NDays]),[2,1,3]),3);
2 comentarios
Respuesta aceptada
Star Strider
el 26 de Jul. de 2021
Taking a slightly shorter example, try something like this —
% ucom = randi(9,21,41,24);
ucom = randi(9, 3, 4, 24);
sz_ucom = size(ucom);
ucomr = reshape(ucom,sz_ucom(1),sz_ucom(2),[],6);
out = nanmean(ucomr,4)
The ‘out’ variable now has 4 blocks of 6-hour averages
.
8 comentarios
Star Strider
el 26 de Jul. de 2021
As always, my pleasure!
(Sorry for the delay — I was off doing other things.)
.
Más respuestas (0)
Ver también
Categorías
Más información sobre Entering Commands 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!