如何计算前5行然后下5行的平均值同样在matlab中继续

时间:2017-01-21 10:36:35

标签: matlab vector average

我有.xlsx文件n行和m列。我想计算前5行的平均值然后接下来的5行(每个5个区间平均值)继续我的数据。

3 个答案:

答案 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));

代码的工作原理如下

  1. 重塑矩阵以获得第一维中5行的块

  2. 计算5行块的平均值。

  3. 在均值之后,第一个维度是单个因子,因此最好将其挤压,使输出为2D矩阵。