2014-07-24 3 views
0

fprintf 대신 친숙한 writetable 명령을 사용하여 큰 테이블을 저장하고 싶습니다. 불행하게도 테이블 값은 double 정밀도이고 long 형식이므로 .txt 파일의 읽을 수없는 긴 숫자가됩니다.Matlab : 작업 영역 변수를 .txt로 저장하기 위해 'writetable'사용

format Style 

명령을 사용하면 명령 창에 표시를 설정할 수 있습니다. MATLAB 도움말 언급 :

약간 다루기 힘든 fprintf 명령에 돌아가는에서 제외

The format function affects only how numbers display in the Command Window, not how MATLAB® computes or saves them.

, writetable를 사용하여 .txt로하는 수출 short 또는 shortg 형식으로 내 테이블 값을 설정하는 방법은 무엇입니까?

+0

http://www.mathworks.com/help/matlab/ref/writetable.html'writetable은 긴 g 형식을 사용하는 숫자 변수와 범주 또는 문자 변수를 따옴표없는 문자열로 출력합니다. 텍스트 파일에 .' 당신은 옵션이 없습니다. – Yvon

답변

1

fprintf 작품은 아주 잘, 당신은 단지 그것은 할 수 있습니다 전화 번호

fid=fopen('mydatafile.txt','w'); % open a txt and set the property to write 
data=rand(100,3); 
fprintf(fid,'%3.3f; %3.3f; %3.3f\n',data(:,:)); % print with 3 values, 3 of them after the comma, separated by ';' 
fclose(fid) % close your txt 

의 형식을 정의 할 필요가 연속 값, 노트 패드가 표시됩니다. 그 목적을 모으고 싶다면 Notepad++

+0

죄송합니다. 답을 너무 일찍 받으 셨습니다. 예제의 배열이 숫자임을 알지 못했습니다. 나는'table'을 가지고 일하고 있는데 fprintf는 그 배열 타입에 대해 작동하지 않습니다. Matlab 출력 : > fprintf를 사용한 오류 > '테이블'입력에 기능이 정의되지 않았습니다. – strategos