我有一个27x38x8760矩阵,其中27x38代表一个网格,一年中有8760个小时。我想为网格做每日平均值,以便我得到的矩阵是27x38x365。 我正在使用reshape进行二维矩阵,但有没有可用于3D? 亲切的问候Matthias
答案 0 :(得分:1)
假设A
是输入矩阵,看看这是否适合你 -
[m,n,r] = size(A)
daily_avg = squeeze(mean(reshape(A,m,n,24,[]),3))
或使用squeeze
-
permute
daily_avg = mean(permute(reshape(A,m,n,24,[]),[1 2 4 3]),4)
答案 1 :(得分:0)
您也可以使用循环
A = rand([27 38 8760]);
for i = 1 : 24 :8760
A_avg(:,:,ceil(i / 24)) = mean(A(:,:,i : i + 23),3);
end