MATLAB: Find row and collumnumber in matrix.

cell arraysdifferent lengthfindlogical indexingMATLAB

Hi all,
I have got a cell array with cells of different lengths: A=[0,0,0,0],[0],[0],[1],[0] and I would like to know the location of 1. When I use
c = find([a{:}] == 1); I get 7, instead of 4. How can I find the location of the 1?
Thanks, Daan

Best Answer

This finds cells that contain a 1, maybe amongst other numbers:
find(cell2mat(cellfun(@(x) (any(x==1)), C, 'UniformOutput', false)))
This looks for a single 1
find(cell2mat(cellfun(@(x) (isequal(x,1)), C, 'UniformOutput', false)))