Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个A包含 400 个值的向量,我需要另一个B包含 100 个值的向量,其中每个值都是A. 例如, 的第一个值B将是 的第 1-4 个值的A平均值,B 的第二个值将是 的第 5-8 个值的平均值A,依此类推。如何在 MATLAB 中做到这一点?
A
B
非常感谢!
如果A是你的 400x1 向量,你可以reshape把它变成一个四列的矩阵,然后应用mean.
reshape
mean
A_means = mean(reshape(A(:), 4, []));
这是有效的,因为mean如果未另行指定,则沿列操作。
这是一个替代解决方案。
我已经扩展了一点,所以如果向量不是四的精确倍数,它也可以工作:
A = 1:399; B = NaN(4,ceil(length(A)/4)); B(1:length(A))=A; nanmean(B)