index position of the 1
2 views (last 30 days)
Show older comments
khaled hassan
on 7 Nov 2016
Commented: Walter Roberson
on 7 Nov 2016
Hi,
I have the following cell array
TEST = [1] [] [] [0] []
I want to get the index position of the 1 not the 0. thanks :) !
0 Comments
Accepted Answer
Walter Roberson
on 7 Nov 2016
find( cellfun(@(C) numel(C) == 1 && C == 1, TEST) )
In the special case where each entry is only empty or a scalar, then
find( cellfun(@(C) C == 1, TEST) )
If you want to find a 1 anywhere in the cell:
find( cellfun(@(C) any(C == 1), TEST) )
0 Comments
More Answers (2)
KSSV
on 7 Nov 2016
TEST = {[1] [] [] [0] []} ;
% index position of 1
idx = find([TEST{:}] == 1)
1 Comment
Walter Roberson
on 7 Nov 2016
If you switch to
TEST = {[0] [] [] [1] []} ;
then [TEST{:}] would be [0 1] and you would return an index of 2, but the actual index should be 4.
See Also
Categories
Find more on Shifting and Sorting 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!