【问题标题】:Maximum value of fields of nested structure嵌套结构字段的最大值
【发布时间】:2017-04-20 19:14:07
【问题描述】:

我有以下结构:

S.s1.val = 1;
S.s2.val= 5;
S.s3.val= 4;
...
S.s10.value = 3;

如何在不使用循环的情况下找到所有 val 字段的最大值。将函数应用于所有嵌套结构字段的一般解决方案是什么?

【问题讨论】:

  • 其实简单一点,看看我的编辑
  • 我同意。谢谢!
  • 为什么不S(1).val, S(2).val, ..., S(10).val

标签: matlab struct vectorization


【解决方案1】:

没有通用解决方案,但可以想到的一种方法是structfun 将要处理的数据收集到数组中。

maxval = max( structfun(@(x) x.val, S) )

structfun 在内部像循环一样连续工作,所以如果你真的很喜欢速度,不要使用结构(或元胞数组)。

【讨论】:

  • 感谢您的解决方案!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-27
  • 1970-01-01
  • 1970-01-01
  • 2019-02-21
相关资源
最近更新 更多