본문 바로가기
programming language/MATLAB

Window command 에서 MATLAB 실행 방법

by __observer__ 2011. 11. 20.
반응형

오늘은 window command 라인 상에서의 MATLAB 실행 방법에 대해 소개하려 합니다.

 

보통의 MATLAB 의 실행은 아이콘을 더블 클릭해서 실행하곤 하는데 ~ 이 경우에는 MATLAB desktop 이 실행되다 보니 로딩이 좀 늦고 무거운 감이 있습니다.

 

물론 컴퓨터 성능에 따라 정도의 차이는 있지만요~

 

간단하게 계산기 용도로 쓸 때나 미리 작성한 script 등을 실행시키고 이의 결과를 얻으려고 할 때 등은 굳이 무거운 MATLAB desktop 을 실행 시킬 필요는 없습니다.

 

마치 window batch 파일을 실행 시키는 것처럼 MATLAB을 실행시키는 방법에 대해 알아보죠~

 


 

아래의 링크 페이지를 참조 하면 window command 라인에서의 MATLAB 실행 명령어 들에 대해 알 수 있습니다.

 

참조: MATLAB help

 

이중에서 저는 주로 –automation 옵션과 –r, -logfile 옵션 등을 주로 이용 합니다.

 

  • –automation 옵션은 MATLAB을 automation server 로 시작하도록 하며 최소화 된 상태로 시작하도록 합니다.

 

  • -r "statement" 옵션은 시작하자마자 MATLAB "statement" 를 실행하는 것입니다.

 

  • -logfile "filename" 옵션은 command 창의 결과들을 "filename" 이라는 파일에 기록하는 것입니다.

 

  • -wait 옵션은 MATLAB 실행이 끝날 때까지 window command 명령 입력을 못하도록 대기 시키는 것입니다.

 



 

window command 창에서 다음과 같이 명령을 하면

 

 

다음과 같은 command window 하나가 최소화된 형태로 딸랑 나옵니다.

 

 



 

다음으로 –r 옵션을 실험해 보죠. 다음과 같이 a=1, b=2, c= a+b 명령을 실행하게 해 보죠.

 

 

이렇게 해서 실행된 MATLAB command 는 위에 그냥 -automation 한 것과 차이가 없죠?

 

이건 명령에 세미콜론(;)을 붙여 줬기 때문에 command 창에 결과가 나타나지 않은 것뿐입니다.

 

아래와 같이 whos 명령을 통해 workspace 에 어떤 변수들이 있는지 확인 할 수 있습니다.

 

 



 

이제 마지막으로 –logfile 옵션을 알아보죠.

 

다음 그림의 command 창 명령어는 a=1, b=2, c=a+b를 계산하고 이 결과를 D:\result.txt 에 기록하는 예입니다.

 

 

command window 에는 다음과 같이 나오게 되고~

 

 

result.txt 파일에는 command window 창의 결과가 아래와 같이 저장되게 되는 것을 확인 할 수 있습니다.

 

 




 

이제 특정 스크립트들을 batch 파일의 형태로 실행 시켜 보도록 하죠~

 

다음과 같이 두 개의 script 를 실행시키는 matlab_batch.bat 이라는 batch 파일을 만들어 보죠.


% D:\script1.m

a=2
b=1:10
c=a*b

 
% D:\script2.m

a=2
b=1:10
c=a*b

 

% matlab_batch.bat

matlab -automation -r run('D:\script1.m'),quit -logfile D:\result1.txt -wait
matlab -automation -r run('D:\script2.m'),quit -logfile D:\result2.txt -wait


 

위 batch 파일을 실행 시키면 다음과 같이  result1.txt, result2.txt 라는 결과를 얻을 수가 있습니다.

 

 

 

주기적으로 실행 시켜야 되는 MATLAB script가 있다면 batch 파일을 만들어서 예약작업의 형태로 실행시킨다면 좀더 편리하게 작업할 수 있을 거라고 생각되네요~


반응형

'programming language > MATLAB' 카테고리의 다른 글

MATLAB figure ButtonDownFcn  (0) 2012.02.22
Simulink Algebraic Loop  (0) 2012.02.13
MATLAB dos 명령 사용하기  (0) 2011.12.21
MATLAB convolution  (0) 2011.11.20
MATLAB, end 를 이용한 데이터 추가  (1) 2011.11.18
MATLAB 집합 관련 함수들  (0) 2011.06.13
MATLAB plot tools  (0) 2011.05.26
MATLAB Graphic handle  (0) 2011.05.25

댓글