标签: matlab mean
我有一个包含400个值的向量A,我需要另一个带有100个值的向量B,其中每个值都是A中相应4个值的平均值。例如,B的第一个值将是A的第1至第4个值的平均值,B的第二个值将是A的第5个第8个值的平均值。 , 等等。我怎么能在MATLAB中做到这一点?
A
B
非常感谢!
答案 0 :(得分:4)
如果A是您的400x1向量,则可以reshape将其放入包含四列的矩阵中,然后应用mean。
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)