Find function for cell array

6 visualizzazioni (ultimi 30 giorni)
Anupam  Saikia
Anupam Saikia il 7 Mag 2019
Commentato: Anupam Saikia il 16 Mag 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?

Risposta accettata

Jan
Jan il 7 Mag 2019
Modificato: Jan il 7 Mag 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

Più risposte (1)

Adam
Adam il 7 Mag 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.

Categorie

Scopri di più su Structures in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by