2013-08-27 8 views
1

Я пытаюсь сохранить выход matlab в 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

Использование функции 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)); 

Если оставить из fid в вызове fprintf(), результаты будут отображаться в команде окно.

Смежные вопросы