【问题标题】:For loop for mean value?For循环平均值?
【发布时间】:2013-09-20 13:15:02
【问题描述】:

如何编写for循环来生成数据形式结构的平均值?

 m1=mean(x1.data);
 m2=mean(x2.data);
 m3=mean(x3.data);
 m4=mean(x4.data);
 mi=mean(xi.data);

【问题讨论】:

  • 如果您将所有 x 结构存储在一个数组中,您可以使用 x[i].data 访问它们,然后您就可以在 for 循环中进行操作。

标签: matlab for-loop


【解决方案1】:

如果你真的需要使用不同的变量名(而不是数组),你可以使用eval。不过,这不是一种好的做法:

for n=1:10
  eval(['m' num2str(n) '=mean(x' num2str(n) '.data);']);
end

【讨论】:

    【解决方案2】:

    检查mean。您可以指定尺寸。

    【讨论】:

    • 但是 OP 正在使用具有不同名称的结构......那么在这里指定尺寸有什么帮助?
    【解决方案3】:

    我认为你可以这样做:

    structfun(@mean, x1)
    

    假设您按照其他 Dan 的建议进行操作,并制作了 x 和结构数组,而不是使用许多单独命名的变量。

    【讨论】:

      猜你喜欢
      • 2016-12-22
      • 1970-01-01
      • 2021-02-02
      • 1970-01-01
      • 2021-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多