Find function for cell array

6 vues (au cours des 30 derniers jours)
Anupam  Saikia
Anupam Saikia le 7 Mai 2019
Commenté : Anupam Saikia le 16 Mai 2019
I havr a cell myCell 1x200 Each cell contains set of three values like myCell{1,1} = 1,118,180 ... myCell{1,8}= 1,122,185 and so on If I have to use find function by providing all three values, how should I use?

Réponse acceptée

Jan
Jan le 7 Mai 2019
Modifié(e) : Jan le 7 Mai 2019
Do all elemts of the cell have the same size and type? Then working with a numerical array is easier and faster:
M = cat(1, myCell{:});
match = find(ismember(M, [1,2,128], 'rows'))
% or
find(M == [1,2,128]) % auto-expanding, >=Matlab R2016b
  1 commentaire
Anupam  Saikia
Anupam Saikia le 16 Mai 2019
Thank you so much.

Connectez-vous pour commenter.

Plus de réponses (1)

Adam
Adam le 7 Mai 2019
wantedArray = [1,122,185];
cellfun( @(x) isequal(x,wantedArray), myCell );
You would be better off using a numeric array though for neatly structured data.
  1 commentaire
Anupam  Saikia
Anupam Saikia le 16 Mai 2019
Thank you so much.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Structures 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