Matlab 使用重塑平均三维矩阵

Matlab 使用重塑平均三维矩阵,matlab,matrix,reshape,Matlab,Matrix,Reshape,我有一个27x38x8760矩阵,其中27x38代表一个网格和一年中的8760小时。我想为网格制作每日avarage,以便生成的矩阵为27x38x365。 我曾在二维矩阵中使用过整形,但是否有可能在三维矩阵中也使用整形? 假设Matthias将A作为输入矩阵,看看这是否适用于您- [m,n,r] = size(A) daily_avg = squeeze(mean(reshape(A,m,n,24,[]),3)) 或者使用permute- daily_avg = mean(permute(re

我有一个27x38x8760矩阵,其中27x38代表一个网格和一年中的8760小时。我想为网格制作每日avarage,以便生成的矩阵为27x38x365。 我曾在二维矩阵中使用过整形,但是否有可能在三维矩阵中也使用整形?
假设Matthias

A
作为输入矩阵,看看这是否适用于您-

[m,n,r] = size(A)
daily_avg = squeeze(mean(reshape(A,m,n,24,[]),3))
或者使用
permute
-

daily_avg = mean(permute(reshape(A,m,n,24,[]),[1 2 4 3]),4)

也可以使用循环

A = rand([27 38 8760]);
for i = 1 : 24 :8760
    A_avg(:,:,ceil(i / 24)) = mean(A(:,:,i : i + 23),3);
end

您如何使用整形来获得每日平均值?很好地使用了
整形