我有.xlsx文件n行和m列。我想计算前5行的平均值然后接下来的5行(每个5个区间平均值)继续我的数据。
答案 0 :(得分:0)
如果A
是您的矩阵,那么:
m=[];
for ii=1:5:20
m(end+1)=mean(mean(A(ii:ii+4,:)));
end
它对你有用吗?
答案 1 :(得分:0)
如果A很大,这里的“hack”应该非常快:
m = mean(kron(speye(size(A,1)/5),ones(1,5))*A/5,2);
答案 2 :(得分:0)
您可以使用reshape在第一维中获取5行的块。如果A
是您的矩阵
m = squeeze(mean(reshape(A,5,[],size(A,2)),1));
代码的工作原理如下
重塑矩阵以获得第一维中5行的块
计算5行块的平均值。
在均值之后,第一个维度是单个因子,因此最好将其挤压,使输出为2D矩阵。