Export Data via fprintf printing something else besides NaN
    5 views (last 30 days)
  
       Show older comments
    
Hi, I have a simple export loop that is writing the contents of a matrix to a text file for another system to read. The issue is that the other system doesn't like NaN as part of a numeric array and I need to print a blank space instead. How can I go about doing this?
On occasion my MacroData matrix Contains NaN's. Is there a way for me to do a find replace while I'm in the file itself, or simple replace the NaN output with a blank?
f_format = '%s%f%f\r\n';
count = 1;
for i = 1:length(UniqueDates)
    fprintf(ftemp,f_format,datestr(UniqueDates(i,1),'mm/dd/yyyy'),MacroData(i,:));
end
fclose(ftemp);
Thanks a lot, Brian
0 Comments
Accepted Answer
  Titus Edelhofer
    
 on 25 Nov 2013
        Hi,
a simple solution would be to print first into a string, process the string and then dump to the file, something like
for i = 1:length(UniqueDates)
  str = sprintf(f_format,datestr(UniqueDates(i,1),'mm/dd/yyyy'),MacroData(i,:));
  str = strrep(str, 'NaN', ' ');
  fprintf(f_temp, '%s', str);
end
Titus
More Answers (0)
See Also
Categories
				Find more on Characters and Strings in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
