index position of the 1

1 次查看(过去 30 天)
Hi,
I have the following cell array
TEST = [1] [] [] [0] []
I want to get the index position of the 1 not the 0. thanks :) !

采纳的回答

Walter Roberson
Walter Roberson 2016-11-7
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) )

更多回答(2 个)

KSSV
KSSV 2016-11-7
TEST = {[1] [] [] [0] []} ;
% index position of 1
idx = find([TEST{:}] == 1)
  1 个评论
Walter Roberson
Walter Roberson 2016-11-7
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.

请先登录,再进行评论。


khaled hassan
khaled hassan 2016-11-7
thank you a lot :) !!!!!!!!!!!!! it worked perfectly

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by