Anomaly with the number 32??
Afficher commentaires plus anciens
I am using this line to determine if an element of a cell array is empty:
tf = isequal({' '}, Array(row,col));
When
Array(row,col) = 32
tf returns 1, which should actually be 0. Why is this happening?
Réponse acceptée
Plus de réponses (1)
Arturo Moncada-Torres
le 11 Août 2011
To know if a cell array is empty, I would recommend you to do the following:
myEmptyCells = cellfun(@isempty,cellArray);
As to this strange conduct, sometimes cell arrays can be tricky. I recommend you to read this great post by Loren regarding them.
3 commentaires
Nathan McCaughey
le 11 Août 2011
Arturo Moncada-Torres
le 12 Août 2011
It would work anyway. If you want to use it with _isequal_ you can do something like this:
a{1} = 1;
a{2} = 'hello';
a{3} = '';
a{4} = 45;
b = cell(1,4);
myEmptyCells = cellfun(@isequal, a, b);
Jan
le 13 Août 2011
BTW, cellfun('isempty') is much faster than cellfun(@isempty)!
Catégories
En savoir plus sur Logical dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!