関数への入力として、ターゲット要素Tの配列、、および構造体の配列を取得していますS。各構造体に.elemsは、整数(要素)のリストであるフィールドがあります。
Matlabでこれを行う簡単な方法があると確信しています。iの特定の要素tが含まれてTいるすべての構造体のインデックスを取得するにはどうすればよいですか?S(i).elemst
関数への入力として、ターゲット要素Tの配列、、および構造体の配列を取得していますS。各構造体に.elemsは、整数(要素)のリストであるフィールドがあります。
Matlabでこれを行う簡単な方法があると確信しています。iの特定の要素tが含まれてTいるすべての構造体のインデックスを取得するにはどうすればよいですか?S(i).elemst
したがって、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 によって返される論理配列からインデックスを抽出します。