본문 바로가기
programming language/MATLAB

MATLAB Dependency 파일 모두 압축하기~

by __observer__ 2015. 10. 20.
반응형

오늘은 MATLAB을 사용하여 파일을 압축하는 방법에 대해 소개하려 합니다.

 

MATLAB 에서 파일을 압축하기 위해서는 다양한 함수가 있는데~

 

zip, unzip, gzip , gunzip, tar, untar 등과 같은 함수가 있습니다.

 

압축방법은 아래 매뉴얼에 나와 있는 바와 같이~

 

http://kr.mathworks.com/help/matlab/ref/zip.html

 

zip 파일명을 넣고 뒤에 압축하고자 하는 파일 명들을 셀 타입으로 넣으면 됩니다.

 

zip('backup.zip',{'*.m','*.mat'});

OR

zip('backup.zip',{'abc.m','aaa.mat'});

 

그런데 파일이 현재 폴더에 있다면 위와 같은 방식으로 하면 되는데~

 

저 같은 경우에는 파일이 여러 군데로 분산되어 있는 경우가 많이 있습니다.

 

이런 경우에는 사용하는 파일을 하나 하나 찾아서 압축파일에 추가하려면 매우 불편하고 실수 할 수도 있는 일이죠~

 

이런 경우에는 아래 소개했던 MATLAB Dependency Report 를 사용하는 게 좋습니다.

 

http://iamaman.tistory.com/255

 

위 포스팅에서는 MATLAB Dependency Report 라는 새로운 창을 통해 확인 하는 거지만~

 

depfun('filename') 이라는 함수를 사용하면 filename 에서 사용하는 함수들의 Dependency 를 다 찾아 줍니다.

 

그런데 최신 매뉴얼을 확인 하니 아래 주소에서 matlab.codetools.requiredFilesAndProducts() 를 사용하라고 하더군요.

 

http://kr.mathworks.com/help/matlab/matlab_prog/identify-dependencies.html#f7-58063

 

그럼 이제 matlab.codetools.requiredFilesAndProducts() 를 사용해서 Dependency 를 찾으면 되는거고~

 

Zip() 함수를 사용해서 압축을 하면 되겠네요~ 현재 제가 샘플로 사용할 convTest_20151018.m 파일을 통해 한번 실습 해보죠~

 

위 포스팅에서 소개했던 MATLAB Dependency Report (종속성 리포트)를 확인 해보니 convTest_20151018.m 파일은 conv_m.m 파일을 사용 중에 있습니다.

 

 

convTest_20151018.m 파일에 대해 정상적으로 압축하는 명령은 다음과 같습니다.

 

[fList, pList] = matlab.codetools.requiredFilesAndProducts('convTest_20151018.m');

zip('test.zip',fList)

 

matlab.codetools.requiredFilesAndProducts() 함수를 통해 convTest_20151018.m 파일에서 사용하는 모든 파일들이 fList 라는 셀 타입에 저장 되고~

 

이를 zip() 함수를 통해 압축하는 겁니다.

 

test.zip 파일을 확인 해보면~

 

convTest_20151018.m, conv_m.m 파일을 들어 있는 것을 확인 할 수 있습니다.


반응형

댓글