임시 블로그 이름

MATLAB에서 결과를 자동으로 날짜-시간별로 저장해보자. 본문

카테고리 없음

MATLAB에서 결과를 자동으로 날짜-시간별로 저장해보자.

paeton 2012. 6. 8. 18:04
MATLAB의 연산 결과를 자동으로 저장해 보자.


매우 오래 걸리는 연산을 하거나, 매번 수행하는 연산 결과를 알아서 자동으로 따로따로 저장하게 만들고 싶을때 유용하다.





날짜별로 폴더를 만들고, 그 밑에 파일 이름을 시간으로 해서 저장을 해보자.



예시:

clear all;

close all;



s = 0;


for j= 1: 1000

    s = s + j;   % 1에서 1000까지 합을 계산하는 연산

end




DIRNAME = datestr(now,'yyyymmdd');

FILENAME = sprintf('./%s/SAVE_%s.mat',DIRNAME,datestr(now,'HHMMSS'));




mkdir(DIRNAME);



save(FILENAME);




datestr 함수는 날짜와 시간을 문자열로 반환해 주는 함수고, now 라는 함수는 현재 날짜와 시간을 알려준다.


따라서


DIRNAME=datestr(now,'yyyymmdd');


구문은 현재 날짜를 'yyyymmdd'라는 형식에 맞춰서 반환해준다. 'yyyymmdd'는 연도, 월, 날짜를 반환해서 DIRNAME에 저장한다.




마찬가지로 아랫줄의 FILENAME부분에서는, 시간을 파일 이름으로 만들어 준다.


datestr(now,'HHMMDD') 부분은 시분초의 형식으로 반환한다.




그러면 최종적으로 현재 디렉토리 밑에 오늘 날째에 해당하는 폴더가 생기고, 그 밑에 'SAVE_180031.mat' 처럼 이 함수가 수행될 때의 시간이 파일 이름으로 저장되게 된다.




위의 예시 파일을 올려놓을테니 실행해 보고, 필요하면 응용해 보자.





autosave.m


Comments