How to find number and position from cell

1 visualizzazione (ultimi 30 giorni)
Philip
Philip il 28 Feb 2013
I have a large cell file (1.6*10^6 rows) with only ones and []. I want to find the positions of the ones, preferably converted to ones and zeros. Since it's a large file, I would rather not do it in a loop.
Example:
a = [1 1 [] [] 1]
have ones in position 1,2,5
  1 Commento
Jan
Jan il 28 Feb 2013
Modificato: Jan il 28 Feb 2013
A cell requires curly braces, because [1 1 [] [] 1] is the same as [1,1,1].

Accedi per commentare.

Risposte (1)

Jan
Jan il 28 Feb 2013
Modificato: Jan il 28 Feb 2013
a = {1, 1, [], [], 1};
index = find(~cellfun('isempty', a));
Perhaps this is slightly faster:
index = find(cellfun('prodofsize', a));
While this is slower:
index = find(cellfun(@(c) isequal(c, 1), a));

Categorie

Scopri di più su Data Type Identification in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by