remove [NaN] from cell array

I have large cell arrays in which a couple of entries could not be read from an excel file, since the corresponding places are empty. In my cell array I obtain: [NaN]
now I wish to replace this with an empty string: ''
this is what I tried and got:
>> raw(cellfun(@isnan,raw)) = {''};
Error using cellfun
Non-scalar in Uniform output, at index 1, output 1.
Set 'UniformOutput' to false.
>> raw(cellfun(@isnan,raw,'UniformOutput',false)) = {''};
Error using subsindex
Function 'subsindex' is not defined for values of class 'cell'.
suggestions?

1 comentario

Jan
Jan el 16 de Abr. de 2015
Please post a relevant part of the cell raw such that we can reproduce the problem.

Iniciar sesión para comentar.

 Respuesta aceptada

Titus Edelhofer
Titus Edelhofer el 16 de Abr. de 2015

1 voto

Hi,
if your raw contains both strings and NaN, you will need to do something like this:
raw(cellfun(@(x) isnumeric(x) && isnan(x), raw)) = {''};
If your raw contains numbers only, I would convert to an array (cell2mat) and then use isnan directly.
Titus

1 comentario

Michiel
Michiel el 16 de Abr. de 2015
thank you, the first is what I was looking for

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Data Type Conversion en Centro de ayuda y File Exchange.

Preguntada:

el 14 de Abr. de 2015

Comentada:

el 16 de Abr. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by