replacing NaN with zeros in a cell column of strings
    5 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
Dear all,
I have this column
 A={[NaN]
    [NaN]
    [NaN]
    [NaN]
    [NaN]
 'ka'
[NaN]
    [NaN]
'jdfksjkg'
'ldsiu'
[NaN]
    [NaN]
'jdfkkg'
'jdfkkg'
};
and I want to replace the NaN with zeros that is ,
 A={[0]
    [0]
    [0]
    [0]
    [0]
 'ka'
[0]
    [0]
'jdfksjkg'
'ldsiu'
[0]
    [0]
'jdfkkg'
'jdfkkg'
};
Is there a way of doing that in matlab?
Thanks in advance
0 Kommentare
Akzeptierte Antwort
  Jan
      
      
 am 25 Apr. 2013
        Are the NaNs the only non-CHAR elements? Then:
A(~cellfun('isclass', A, 'char')) = {0};
Weitere Antworten (2)
  Wayne King
    
      
 am 24 Apr. 2013
        One way is just with a for loop:
for ii = 1:length(A) 
   if isnan(A{ii})
     A{ii} = 0; 
   end
end
4 Kommentare
  Shane Hagen
 am 22 Mär. 2015
				
      Bearbeitet: Shane Hagen
 am 22 Mär. 2015
  
			isnan doesnt work for cells...can anyone help?
If i separate out the individual cell with NaN it works but not in the loop
ix=cellfun(@isempty,spiketimes);
spiketimes(ix)={0} ; %which I wish would just put 0's
for ii = 1:length(spiketimes)
if isnan(spiketimes{ii})
spiketimes{ii} = 0;
end end
results = spiketimes{j};
%n = length(results(j,:));
plot([results{:} ; results{:}], [ones(1,n)*j-1;ones(1,n)*j],'k-'); end; end;
Undefined function 'isnan' for input arguments of type 'cell'.
this is at the end of my code..would appreciate any help
  Cedric
      
      
 am 25 Apr. 2013
        
      Bearbeitet: Cedric
      
      
 am 25 Apr. 2013
  
      You can go for something like:
 A(cellfun(@(x)all(x~=x), A)) = {0} ;
but it is just "cosmetic" (in some sense) and the loop proposed by Wayne (with a little update so it manages well non-scalar content) is likely to be more efficient.
2 Kommentare
  Jan
      
      
 am 25 Apr. 2013
				@antonet: You got two working solutions. Asking for more solutions without explaining, why you are not satisfied already, is not efficient. Please do not let us guess, what you are exactly looking for, because this wastes your and our time.
Siehe auch
Kategorien
				Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





