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?

 Risposta accettata

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

2 Commenti

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))

Accedi per commentare.

Più risposte (1)

Richiesto:

SM
il 29 Ott 2019

Risposto:

SM
il 29 Ott 2019

Community Treasure Hunt

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

Start Hunting!

Translated by