我有一个具有400个值的向量A,我需要另一个具有100个值的向量B,其中每个值都是A中对应的4个值的平均值。例如,B的第一个值是A的第1-4个值的平均值,B的第二个值是A的第5-8个值的平均值,依此类推。我如何在MATLAB中做到这一点?
非常感谢!
发布于 2013-05-28 17:25:12
如果A是您的400x1向量,您可以将其reshape到一个包含四列的矩阵中,然后应用mean。
A_means = mean(reshape(A(:), 4, []));这之所以有效,是因为如果未另行指定,mean将按列操作。
发布于 2013-05-28 17:34:14
这里有一个替代的解决方案。
我对它进行了一点扩展,所以如果向量不是4的精确倍数,它也可以工作:
A = 1:399;
B = NaN(4,ceil(length(A)/4));
B(1:length(A))=A;
nanmean(B)https://stackoverflow.com/questions/16788419
复制相似问题