2017-02-14 1 views
0

으로 내보낼 때마다, 텍스트 파일이 텍스트 파일로 내보내는 가장 쉬운 방법 일 수 있다고 생각했습니다. csvwrite은 숫자 값만 지원하고 xlswrite은 날짜/시간을 처리 할 때 고통 스러울 수 있습니다.데이터를 Matlab에서 텍스트 파일

내 데이터는 날짜, 타임 스탬프, 문자열 (주식 이름), 값 (주식 값)으로 구성됩니다. 데이터에는 헤더로 열 이름도 있습니다. 제 데이터를 내 텍스트 파일로 내보낼 수있는 방법은 무엇입니까 (csv으로 읽음). 나는 방대한 독서를했지만 아직도 붙어있다.

초보자를위한 조언이 있으십니까? 고마워요

답변

0

fprintf()는 (는) 친구입니다.

x = 0:.1:1; 
A = [x; exp(x)]; 

fileID = fopen('exp.txt','w'); 
fprintf(fileID,'%6s %12s\n','x','exp(x)'); 
fprintf(fileID,'%6.2f %12.8f\n',A); 
fclose(fileID); 

첫 번째 호출에 exp.txt라는 텍스트 파일에 지수 함수의 짧은 테이블을 쓰기

:

그러나, 나는 아래로 여기에 약간의 예를 쓰기 위하여려고하고있다 fprintf는 헤더 텍스트 x 및 exp (x)를 인쇄하고 두 번째 호출은 변수 A의 값을 인쇄합니다.

Microsoft® 메모장으로 파일을 읽으려면 '\ n \ n'대신 '\ r \ n'을 사용하십시오 '새 줄로 이동하십시오.

fprintf(fileID,'%6s %12s\r\n','x','exp(x)'); 
fprintf(fileID,'%6.2f %12.8f\r\n',A); 

MATLAB® 가져 오기 기능, 모든 유닉스 응용 프로그램을 마이크로 소프트 워드와 워드 패드는 개행 지표로 '\ n을'을 인식 예를 들어, 다음과 인 fprintf 전화를 교체합니다.

type 명령을 사용하여 파일의 내용을 봅니다.

type exp.txt 

    x  exp(x) 
    0.00 1.00000000 
    0.10 1.10517092 
    0.20 1.22140276 
    0.30 1.34985881 
    0.40 1.49182470 
    0.50 1.64872127 
    0.60 1.82211880 
    0.70 2.01375271 
    0.80 2.22554093 
    0.90 2.45960311 
    1.00 2.71828183 

Here 자세한 내용과 몇 가지 예를 찾을 수 있습니다.

+0

감사합니다. Leos313. 나는이 예제를 matlab에 도움을 봤고 그것을 적용하려고했지만 "fprintf를 사용하여 오류가 발생했습니다. 'table'클래스의 개체를 'double'로 변환 할 수 없습니다." 어떤 생각? 또한 fprint를 사용하여 문자열, 날짜 및 타임 스탬프를 처리 할 수있는 방법은 무엇입니까? 덕분에 많은 오류가 발생했습니다. –

+0

코드를 공유하여 오류를 재현 해 볼 수 있습니다. 어쨌든, 이중 점 또는 부동 소수점 값을 인쇄하는 데 "% f"를 사용하고 있지만 데이터가 두 배가 아닙니다. 작업 공간을 살펴보고 fprintf 명령에 대한 정확한 옵션을 사용하십시오. – Leos313