1

我正在尝试将 matlab 的输出保存在 ascii 中。它有效,但问题是格式是:

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

4

2 回答 2

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(),结果将显示在命令窗口中。

于 2013-08-27T12:08:40.943 回答
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))

可能会奏效。

于 2013-08-27T11:56:55.707 回答