How to find in cell structures?

2 vues (au cours des 30 derniers jours)
JamJan
JamJan le 7 Août 2019
Commenté : JamJan le 7 Août 2019
I have the following cell structure:
1x30 double
1x23 double
1x23 double
1x23 double
1x23 double
1x23 double
1x23 double
1x25 double
1x35 double
I want to find whether a number is present in one of these and want to know the index of that. So for instance the number 5 is present in double 1, 5 and 7, so the output should be [1 5 7]. Can this be done?
  4 commentaires
KSSV
KSSV le 7 Août 2019
Read about ismember, find.
Adam
Adam le 7 Août 2019
Modifié(e) : Adam le 7 Août 2019
Off the top of my head, something like this may work:
find( cellfun( @(x) any( find( x == 5 ) ), myCell, 'UniformOutput', false ) )
where myCell is your cell array.
At least it may give you ideas to get to the right solution, though I'm sure someone else will quickly come along with a correct or better solution if this is not it!

Connectez-vous pour commenter.

Réponse acceptée

madhan ravi
madhan ravi le 7 Août 2019
Modifié(e) : madhan ravi le 7 Août 2019
v=cellfun(@(x) any( x == 5 ), yourcell);
Wanted = find(v) % Adam was almost right , but a minute tweak
  3 commentaires
madhan ravi
madhan ravi le 7 Août 2019
Thank you Stephen!
JamJan
JamJan le 7 Août 2019
Thank you guys!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Structures dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by