【问题标题】:Summing elements from a vector, bounded by certain indices对向量中的元素求和,以某些索引为界
【发布时间】:2017-05-10 11:09:23
【问题描述】:

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

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

感谢您的帮助!

【问题讨论】:

    标签: arrays matlab vector


    【解决方案1】:

    使用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 行矩阵,然后计算每列的平均值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-05
      • 1970-01-01
      • 2017-08-11
      • 2018-05-23
      • 2018-01-08
      • 1970-01-01
      • 1970-01-01
      • 2021-12-10
      相关资源
      最近更新 更多