2013-08-27 80 views
1

我想保存ascii中的matlab输出。它的工作原理,但问题是,格式是:保存数据格式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

使用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)) 

可能会工作。

+1

我认为你需要'.6' –

+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)); 

如果你离开了在调用fprintf()fid,结果将显示在命令窗口。