嵌套结构的字段的最大值

时间:2016-12-06 07:58:11

标签: matlab struct vectorization

我有以下结构:

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

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

1 个答案:

答案 0 :(得分:3)

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

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

内部structfun像循环一样串行工作,所以如果你真的进入速度,不要使用结构(或单元格数组)。