How to find index of the following problem?

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

find( cellfun(@(v) all(ismember(v, B)), A))

2 Comments

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].
find( cellfun(@(v) ~isempty(v) && all(ismember(v, B)), A))

Sign in to comment.

More Answers (1)

Asked:

SM
on 29 Oct 2019

Answered:

SM
on 29 Oct 2019

Community Treasure Hunt

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

Start Hunting!