어떤 언어든 사용빈도가 높아지면, 데이터관리의 필요성을 느끼게됩니다. MATLAB도 예외는 아닌데요. 보통은 화일이름으로 구분을 두고, 또 폴더명으로 구분을 두죠.^^. 그런데 그 수준도 넘어서는 경우는 어떻할까요??



MATLAB의 주 화일 형식인 m-file은 그냥 프로그램 제일 위에 주석을 달면 되니까 편합니다.
Simulink 화일인 mdl화일도 제가 이야기한 적이 있는 annotation[관련글]을 이용하면 편합니다.

그런데 데이터 화일은 mat 화일은 어떻게 할까요.
제 주위 후배들을 보니 대체로 가장 많이 쓰는 것이 mat화일과 같은 이름의 m-file을 만들어 해당 mat화일도 엑세스할겸 거기다 주석을 달아서 관리하더군요.



그러나 만약, 동일한 엑세스 코드에 데이터만 바뀐다면 또 어떻게할까요.

실험을 몇일이고 수행하면서 하루에도 수백번 실험을 해야할때가 많아지면서 불어나는 데이터는 관리하기가 만만치 않습니다.

이번엔 저는 structure 데이터 형식을 이용해서 mat화일에 일종의 주석을 다는 것을 이야기해볼까 합니다. 이렇게 한 이유는 화일에 자체적으로 다는 주석은 저처럼 current folder를 화일이름만 딸랑 나오게 좁혀놓고 사용하는 경우 유용한데요.


일단, y1, y2라는 데이터가 있다고 치죠. 그러면 data.y1, data.y2 이렇게 dot(.)을 사용해서 저장을 합니다. 그러면 workspace에 data라는 structure 형식의 데이터만 나타납니다.


그리고, 위에서처럼 입력하고 싶은 주석을 넣는거죠.


structure로 입력된 데이터를 사용하는 것은 위와 같이 저장할 때와 같습니다.


data라는 변수를 workspace로 보면 위와 같이 나타나죠. 변수의 의미와 x-y축의 단위 등을 입력해두변 관리하기가 편할 겁니다. 



이런 상황도 생각할 볼 수 있습니다.

아예,
data.Xdim, data.Ydim, data.dateOfExp, data.personOfExp

등의 변수를 structure에 같이 입력함으로서 수백 수천개의 데이터화일에서

누가 실험한 데이터가 뭐더라?? 혹은 몇일에 실험했던게 뭐더라 등등을 찾을때 eval[관련글]명령과 함께 사용하면 아주 유용합니다.

아.. 그리고


workspace의 data를 mat화일로 저장해주면 되겠죠^^



http://pinkwink.kr/trackback/354 관련글 쓰기
  • 핑구야 날자 2010/07/31 08:18

    주말이군요, 날이 덥기는 하지만 연구하시는데 힘네시구요

    • PinkWink 2010/07/31 09:15

      히히.. 사실.. 저희 연구실은 안더워요.. 몹시 에너지 절약정책에는 위반되지만.. 그냥 에어컨 빵빵하게 틀고 생활한답니다.^^

  • 구차니 2010/07/31 09:25

    아아 아에컨 ㅠ.ㅠ
    MATLAB 보다 에어컨 ㅠ.ㅠ

    • PinkWink 2010/07/31 09:44

      ㅋㅋ.. MATLAB이 없으면.. 뭐 아쉬운 딴에 엑셀이나 심지어 손으로 해도 되지만..
      에어컨은 있어야해요.. ㅋㅋㅋ

  • theta 2010/07/31 12:05

    만든사람 이름을 넣는 건 상당히 좋은 생각이군요.

    • PinkWink 2010/07/31 13:31

      여러가지 정보를 담아두고, 검색할때 아주 편하죠^^

  • patrick 2011/03/16 22:54

    .mat 파일에 관한 이야기가 나와서 드리는 질문인데요...

    A 라는 .mat 파일에 있는 어떤 자료를 B 라는 .mat 파일로 옮겨서 C

    라는 .mat 파일을 만들 수 있나요?

    예를 들면 A 라는 .mat 파일에는 1,2,3 이 있구요, B 라는 .mat 파일에는

    4,5,6 이 있어요...

    근데 저는 1,4,5,6 을 갖는 C 라는 .mat 파일을 만들구 싶거든요...


    그러려면 A 라는 .mat 파일에서 1을 잘라 오던 복사를 하던 해야 할텐데...

    어떤 방법으로든 그렇게 해서 C 라는 .mat 파일을 만들 수 있는 방법이 있나요???

    • PinkWink 2011/03/17 08:54

      먼저 command window에서

      doc load
      doc save

      를 해서 보시면 아시겠지만,

      load 명령은 해당 mat화일안의 특정 변수만 읽는 기능을 제공합니다.
      그리고 svae 또한 workspace내의 특정 변수만 저장이 가능합니다.

      그러므로 patrick님이 물어보신, 어떤 mat화일의 특정변수를 다른 이름으로 저장이 가능합니다.

1 ... 14 15 16 17 18 19 20 21 22 ... 59