2013-08-27 81 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,結果將顯示在命令窗口。