Find function for cell array

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?

 Accepted Answer

Jan
Jan on 7 May 2019
Edited: Jan on 7 May 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

More Answers (1)

wantedArray = [1,122,185];
cellfun( @(x) isequal(x,wantedArray), myCell );
You would be better off using a numeric array though for neatly structured data.

Categories

Asked:

on 7 May 2019

Commented:

on 16 May 2019

Community Treasure Hunt

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

Start Hunting!