如何用另一种方法计算向量?

时间:2013-05-28 09:24:03

标签: matlab mean

我有一个包含400个值的向量A,我需要另一个带有100个值的向量B,其中每个值都是A中相应4个值的平均值。例如,B的第一个值将是A的第1至第4个值的平均值,B的第二个值将是A的第5个第8个值的平均值。 , 等等。我怎么能在MATLAB中做到这一点?

非常感谢!

2 个答案:

答案 0 :(得分:4)

如果A是您的400x1向量,则可以reshape将其放入包含四列的矩阵中,然后应用mean

A_means = mean(reshape(A(:), 4, []));

这是有效的,因为如果没有另外指定,mean将按列操作。

答案 1 :(得分:1)

这是另一种解决方案。

我已经扩展了一点,所以如果向量不是四的完全倍数,它也会起作用:

A = 1:399;

B = NaN(4,ceil(length(A)/4));
B(1:length(A))=A;
nanmean(B)