How to find index of the following problem?

1 回表示 (過去 30 日間)
SM
SM 2019 年 10 月 29 日
回答済み: SM 2019 年 10 月 29 日
A={[];13;[1,5];10;7;[];8;3;5;18;[];[1,4];[2,33];[3,17];[4,37];[5,1];[6,28];[7,20];[8,15]};
B={[1 10 5]};
Output=[3;4;9]
the elements of index 3 , 4 and 9 in A are contained by B and therefore the output is [3;4;9].
What is the easiest way of getting this output?

採用された回答

Walter Roberson
Walter Roberson 2019 年 10 月 29 日
find( cellfun(@(v) all(ismember(v, B)), A))
  2 件のコメント
SM
SM 2019 年 10 月 29 日
That's excellent! One problem is that It also considers the empty cell. Is it possible to exclude [] ? Because it results [1; 3; 4; 6; 9; 11; 16] instead of [3;4;9].
Walter Roberson
Walter Roberson 2019 年 10 月 29 日
find( cellfun(@(v) ~isempty(v) && all(ismember(v, B)), A))

サインインしてコメントする。

その他の回答 (1 件)

SM
SM 2019 年 10 月 29 日
Thank you! It works now.

カテゴリ

Help Center および File ExchangeData Type Identification についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by