Find function for cell array

7 Ansichten (letzte 30 Tage)
Anupam  Saikia
Anupam Saikia am 7 Mai 2019
Kommentiert: Anupam Saikia am 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?

Akzeptierte Antwort

Jan
Jan am 7 Mai 2019
Bearbeitet: Jan am 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

Weitere Antworten (1)

Adam
Adam am 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.

Kategorien

Mehr zu Structures 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