作为函数的输入,我得到了一个目标元素T
数组 和一个结构数组,S
其中每个结构都有一个.elems
字段,这是一个整数(元素)列表。
我确信在 Matlab 中有一种简单的方法可以做到这一点。如何获取包含i
特定元素的所有结构t
的T
索引?S(i).elems
t
作为函数的输入,我得到了一个目标元素T
数组 和一个结构数组,S
其中每个结构都有一个.elems
字段,这是一个整数(元素)列表。
我确信在 Matlab 中有一种简单的方法可以做到这一点。如何获取包含i
特定元素的所有结构t
的T
索引?S(i).elems
t
所以我认为你需要用一个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 返回的逻辑数组中提取索引。