从矢量求和元素,由某些指数限定

时间:2017-05-10 11:09:24

标签: arrays matlab vector

我在Matlab中有一个行向量x,它包含164372个组件。我现在想要将这些元素分组到另一个向量y中,该向量必须包含52个组件。向量y的第一个元素必须是向量x的前164372/52 = 3161个元素的平均值,y的第二个元素必须是x的下一个3161个元素的平均值,等等。这一直持续到我采取向量x中所有52个元素的平均值,并将它们放在y中。

如何在Matlab中实现这一点?是否有一些内置函数可以将元素从某个索引求和到另一个索引?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

reshapemean

x = rand(1,164372); % example data
N = 52; % block size. Assumed to divide numel(x)
result = mean(reshape(x, numel(x)/N, []), 1)

这样做是:将矢量重新整形为通常column-major order中的52行矩阵,然后计算每列的平均值。