How to find index of the following problem?

2 views (last 30 days)
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?

Accepted Answer

Walter Roberson
Walter Roberson on 29 Oct 2019
find( cellfun(@(v) all(ismember(v, B)), A))
  2 Comments
SM
SM on 29 Oct 2019
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 on 29 Oct 2019
find( cellfun(@(v) ~isempty(v) && all(ismember(v, B)), A))

Sign in to comment.

More Answers (1)

SM
SM on 29 Oct 2019
Thank you! It works now.

Categories

Find more on Data Type Identification in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!