我正在尝试在ascii中保存matlab的输出。它的工作原理但问题是格式为:
4.8143374e+07 1.0000000e+00 1.0000000e+00
1.0000000e+00 2.0000000e+00 4.0000000e+00
但我需要6位精度和圆括号,如
(4.8143374e+07 1.0000000e+00 1.0000000e+00)
(1.0000000e+00 2.0000000e+00 4.0000000e+00)
你知道怎么做吗?谢谢
最好的问候 L.Metelli答案 0 :(得分:3)
您可能希望使用fprintf()
写入文件并为其指定以下格式说明符:
% After opening your file like this: fid = fopen('myfile.asc', 'wt');
fprintf(fid, '(%0.6e %0.6e %0.6e)\n', data(1), data(2), data(3));
如果在fid
的调用中遗漏fprintf()
,结果将显示在命令窗口中。
答案 1 :(得分:0)
使用sprintf
功能,您可以将数据打印到格式化的字符串中:
http://www.mathworks.de/de/help/matlab/ref/sprintf.html
我的脑袋里有点像
str = sprintf("(%f.6 %f.6 %f.6)", data(0), data(1), data(2))
可能有用。