How to find index of the following problem?

2 Ansichten (letzte 30 Tage)
SM
SM am 29 Okt. 2019
Beantwortet: SM am 29 Okt. 2019
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?

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

SM
SM am 29 Okt. 2019
Thank you! It works now.

Kategorien

Mehr zu Data Type Identification finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by