How to find index of a value in cell array
117 views (last 30 days)
Show older comments
Vishal Sharma
on 25 Jan 2017
Commented: Walter Roberson
on 8 Nov 2024 at 4:40
I have this Cell Array ‘A’ of size 3 by 7
A = { 3 4 [] [] [] [] []
2 6 -2 2 -2.1 2 2
-5 -5 25 1 [] [] []}
I want to find index of ‘6’ element in 2nd row and 2nd column The answer shall be row = 2 and column = 2
0 Comments
Accepted Answer
the cyclist
on 25 Jan 2017
Edited: the cyclist
on 25 Jan 2017
isSix = cellfun(@(x)isequal(x,6),A);
[row,col] = find(isSix);
4 Comments
More Answers (1)
Walter Roberson
on 25 Jan 2017
Re-using the framework of my answer to your earlier question:
B = A;
B(cellfun(@isempty, B)) = {NaN};
[maxrow, maxcol] = find( reshape(cell2mat(B), [], 1) == 6);
1 Comment
Walter Roberson
on 8 Nov 2024 at 4:40
Looking again several years later, it looks like the code should use
[maxrow, maxcol] = find( cell2mat(B) == 6);
See Also
Categories
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!