如何获取struct.somearray包含查询数组中元素的所有结构的列表

时间:2012-04-22 14:25:17

标签: matlab

作为函数的输入,我得到一个目标元素数组T和一个结构数组S,其中每个结构都有一个.elems字段,这是一个列表整数(元素)。

我确信在Matlab中有一种简单的方法可以做到这一点。如何获取it的特定元素T包含S(i).elems的所有结构的索引t

1 个答案:

答案 0 :(得分:0)

所以我认为你需要用arrayfun来做这件事。我做了:

S = ... (1-by-N array of structs);
T = ... (1-by-K array of numbers);
indices = find(arrayfun(@(i)any(ismember(T, S(i).elems)), 1:numel(S)));

any(ismember(T, S(i)elems))测试是T中的任何事物都在S(i).elems中。 arrayfun为S中的每个结构重复此操作。find从arrayfun返回的逻辑数组中提取索引。