0

我有一个A包含 400 个值的向量,我需要另一个B包含 100 个值的向量,其中每个值都是A. 例如, 的第一个值B将是 的第 1-4 个值的A平均值,B 的第二个值将是 的第 5-8 个值的平均值A,依此类推。如何在 MATLAB 中做到这一点?

非常感谢!

4

2 回答 2

4

如果A是你的 400x1 向量,你可以reshape把它变成一个四列的矩阵,然后应用mean.

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

这是有效的,因为mean如果未另行指定,则沿列操作。

于 2013-05-28T09:25:11.960 回答
1

这是一个替代解决方案。

我已经扩展了一点,所以如果向量不是四的精确倍数,它也可以工作:

A = 1:399;

B = NaN(4,ceil(length(A)/4));
B(1:length(A))=A;
nanmean(B)
于 2013-05-28T09:34:14.397 回答