Anomaly with the number 32??
Mostrar comentarios más antiguos
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?
Respuesta aceptada
Más respuestas (1)
Arturo Moncada-Torres
el 11 de Ag. de 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 comentarios
Nathan McCaughey
el 11 de Ag. de 2011
Arturo Moncada-Torres
el 12 de Ag. de 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
el 13 de Ag. de 2011
BTW, cellfun('isempty') is much faster than cellfun(@isempty)!
Categorías
Más información sobre Logical en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!