index position of the 1

2 visualizzazioni (ultimi 30 giorni)
khaled hassan
khaled hassan il 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 :) !

Risposta accettata

Walter Roberson
Walter Roberson il 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) )

Più risposte (2)

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

Accedi per commentare.


khaled hassan
khaled hassan il 7 Nov 2016
thank you a lot :) !!!!!!!!!!!!! it worked perfectly

Categorie

Scopri di più su Shifting and Sorting Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by