본문 바로가기
건설 정보/Working Tool

매트랩 파일을 txt 파일로 출력하기

by 그로업 2013. 9. 26.

공학도들의 매트랩의 주 목적은 해석 상의 결과값을 뽑아내는 것이라 할 수 있겠다.

매트랩으로 코딩을 하여 그 결과를 보고자 할 때 그냥 단순하게 코딩을 해서 Command Window상에 출력시키게 할 수 있지다. 그러나 이렇게 Command Window상에 출력시키데 된다면, 출력된 값을 하나하나 엑셀에 입력하여 정리를 해야 하는데, 이는 너무 번거로운 일이다. 

다행히 매트랩에서는 친절하게 출력값을 Command Window 뿐만 아니라, 특정 파일에 입력시켜주는 기능도 제공하고 있다.

매트랩이라는 프로그램 역시 C언어 기반이라서 그런지, 이 명령어에 관해서는 상당히 유사했다고 느껴졌다. 


본론부터 말하자면, 명령어는 다음과 같다.


1. fopen 으로 파일 열기


먼저 매트랩의 데이터를 파일에 기록하기 위해서는 fopen 명령어를 사용하여 사전준비를 해놓아야 한다.


ex.) 

>> file_output = fopen('Result.txt', 'w');


file_output 이라는 변수는 매트랩 데이터를 Result.txt 파일에 쓰기 위해 열어놓은 상태이다.


여기서 file_output은 fopen 명령어가 할당된 변수이고 (사용자 임의대로 변경 가능)

Result.txt는 출력대상 파일(입력대상 파일)

'w'는 쓰기 위한 준비, 'r'는 읽기 위한 준비 라고 생각하면 되겠다.


2. fprintf 로 데이터 출력하기


내가 계산 중에 a,b,c 라는 변수를 Result.txt 파일에 출력하고 싶다면, fprintf 라는 명령어를 통하여 Result.txt 파일에 기록할 수 있다.


ex) 

>> fprintf(file_output, '%f, %f, %f \n' , a, b, c);

file_output이라는 변수를 출력하는데, 차례대로 a, b, c가 Result.txt 파일에 출력되는 것이다.


만약, a=1, b=2, c=3 이었다면, Result.txt 파일에는 다음과 같이 출력될 것이다.


1, 2, 3



그리고 \n 은 줄바꿈 명령어이기 때문에, 변수 c 다음에 출력되는 값은 줄이 바뀌어서 출력될 것이다.


여기서, 앞에 있는 %는 format code라 하여 출력되는 변수의 종류를 결정하는 것임과 동시에 변수를 출력하게 하는 접두어이다. 접미어를 붙이면 다음과 같은 특성을 띄게 된다.

%d : 정수 포멧

%f : 소수 포멧

%e : 공학 포멧


대충 이정도만 알면 되고, 그 뒤에 나오는 \n은 제어코드로써 \라는 접두어에 접미어를 붙이면 다음과 같은 특성을 띄게 된다.

\n : 줄바꿈

\t : 탭


 ex2)

>> fprintf(file_output, '여기서 a의 값은 : %f', a);

이렇게 하게 된다면 다음과 같이 출력이 될 것이다.


여기서 a의 값은 : 1


3. fclose로 마무리 하기.


물건을 사용했으면 정리정돈을 하듯이, 파일을 열었으면 닫아놔야 하는 법.

이 명령어는 의외로 간단하다.

file_output 이라는 변수를 더이상 쓸 일이 없다면 이제 이 변수를 닫아 놓아야 한다.


>> fclose(file_output);


4. TIP


어차피 해석 데이터를 엑셀로 정리할 생각이라면, txt로 출력하여 csv 파일(쉼표로 열을 구분하고, 줄바꿈으로 행을 구분)로 번거롭게 바꾸기 보다는,

애초에 fopen으로 파일을 할당할 때 csv 확장자로 하면 번거로움 없이 해석을 하자마자 csv 파일로 출력이 될 것이다.


>> file_output = fopen('Result.csv', 'w'); 


댓글