我有一个40×40×20阵列。我想在第三维中平均一个5的块,这样我的输出矩阵就是40×40×4。
我尝试了以下内容:
out = zeros(size(data,1), size(data,2), size(data,3)/5);
c = 1;
for i = 1:5:size(data,3)
out(:,:,c) = nanmean(data(:,:,i:i+5-1),3);
c = c + 1;
end
答案 0 :(得分:2)
您可以按以下步骤操作:
代码:
N = 5; % block size
out = reshape(data, size(data,1), size(data,2), N, []); % step 1
out = nanmean(out, 3); % step 2
out = permute(out, [1 2 4 3]); % step 3