Export Data via fprintf printing something else besides NaN
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Titus Edelhofer
2013-11-25
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
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!