如何沿矩阵的三维平均每4个数据点?
我的矩阵是245x85x1460(lonxlatxhour)因为第三个维度是6小时数据,我需要每天数据,所以我想平均每4个数据点(即1:4、5:8等),最后得到一个245x85x365大小的矩阵。
最佳答案
使用reshape
:
R = rand(245,85,1460); % Some random data, same dimensions as your example
szR = size(R);
A = squeeze(mean(reshape(R,[szR(1:2) 4 szR(3)/4]),3)); % Mean across 3rd dimension
需要使用
squeeze
函数将结果下推到三维数组中上面的A(:,:,1)
应该等同于mean(R(:,:,1:4),3)
,依此类推。关于matlab - 沿第3维平均每4个条目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17887371/