【问题标题】:Getting the average of specific points in a matrix using for loops使用 for 循环获取矩阵中特定点的平均值
【发布时间】:2015-01-10 17:13:28
【问题描述】:

我有一个名为 V1all 的矩阵,其中包含 1556480 个变量。全部在第一列。我试图获得每 1024 点的平均值。即第一个 1024 点的平均值,然后是第二个 1024 点的平均值,依此类推。最后我应该有一个 1520 点的矩阵。我有以下代码,但我只得到一个重复 1520 次的值。

V1 = zeros(1520,1);
for jj = 1024:1024:1556480;
V1(1:1520) = mean(V1all(jj-1023:jj));
end

知道我做错了什么吗?问候,杰尔

【问题讨论】:

    标签: arrays matlab for-loop matrix


    【解决方案1】:

    您可以在一行中完成:重塑为 1024 行矩阵,然后他们应用 mean 来计算每一列的平均值:

    V1 = mean(reshape(V1all, 1024, []));
    

    如果你真的想使用循环:你没有正确索引V1。修改你的代码如下:

    V1 = zeros(1520,1);
    for n = 1:1520;
        jj = 1024*n;
        V1(n) = mean(V1all(jj-1023:jj));
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-22
      • 1970-01-01
      • 1970-01-01
      • 2018-05-24
      • 1970-01-01
      • 2014-12-17
      相关资源
      最近更新 更多