Borrar filtros
Borrar filtros

Replace NaN values with blanks

14 visualizaciones (últimos 30 días)
Subhiksha
Subhiksha el 24 de Sept. de 2013
Editada: Stephen23 el 29 de Jun. de 2018
Hello all,
I need to replace the NaN values with a blank space in either a matrix or cell array. What should I do?? On trying the below code with cell array, I got the following error:
a(cellfun(@isnan,a)) = {[]}; Error: Function name must be a string.
I am using Matlab 7.0.1 (R14).
How should I give the isnan function???
Thanks in advance for the help.
  3 comentarios
Azzi Abdelmalek
Azzi Abdelmalek el 24 de Sept. de 2013
[Samyukhta commented]
Hello Ilham Hardy and Azzi Abdelmalek ,
I get the same error , Function name must be a string.
What should I do???? How am I supposed to give @isnan()???
Azzi Abdelmalek
Azzi Abdelmalek el 24 de Sept. de 2013
Samyukhta , please if you want to comment an answer, click on [comment on this answer]

Iniciar sesión para comentar.

Respuesta aceptada

Jan
Jan el 24 de Sept. de 2013
Editada: Jan el 24 de Sept. de 2013
R14 is very old now. I'm not sure if cellfun accepted function handles freely in this version. But you can emulate this simply by a loop:
for k = 1:numel(C)
if isnan(C{k})
C{k} = '';
end
end
Replacing NaN values by '' in a matrix will not work: All elements of a matrix need to be the same type. While NaN is a double or single, the empty string is a char.
  2 comentarios
Subhiksha
Subhiksha el 24 de Sept. de 2013
It worked perfectly fine:):)
Thank you.
Stephen23
Stephen23 el 29 de Jun. de 2018
Editada: Stephen23 el 29 de Jun. de 2018
@Vasishta Bhargava: numeric arrays cannot contain characters, so what you want is not possible. The value 65 is the character encoding number for the letter 'A'. You were told this in response to your earlier comment:
Please stop hijacking other people's threads. You have been given the same information twice now, it will not change if you ask again.

Iniciar sesión para comentar.

Más respuestas (1)

Azzi Abdelmalek
Azzi Abdelmalek el 24 de Sept. de 2013
A={nan 1 2 nan 3 'r'}
A(cellfun(@isnan,A))={''}
  1 comentario
Azzi Abdelmalek
Azzi Abdelmalek el 24 de Sept. de 2013
In windows command type
isnan
What did you get?

Iniciar sesión para comentar.

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by