Effacer les filtres
Effacer les filtres

How to find index of the following problem?

1 vue (au cours des 30 derniers jours)
SM
SM le 29 Oct 2019
Réponse apportée : SM le 29 Oct 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?

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (1)

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

Catégories

En savoir plus sur Data Type Identification dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by