강좌 순서

1. MATLAB 각 Window 사용법 [바로가기]
2. M-File을 사용한 기초연산법 및 데이터의 그래픽 출력 [바로가기]
3. 데이터의 3D 출력 [바로가기]
4. 조건문 및 반복문의 사용. 에러대비 [바로가기]
5. Simulink의 기초 [바로가기]
6. Simulink의 기초 2 [바로가기]
7.  Function 문의 사용 [바로가기]
8. 동역학 시뮬레이션하기 [바로가기]
9. 애니메이션 구현하기 [바로가기]
10. 애니메이션을 이용한 동역학 시뮬레이션하기 [바로가기]
11. LQR 툴박스를 사용하여 제어기 구현하기 [바로가기]
12. GUI 시작하기 - Static, Edit Text 및 Push Button [바로가기]
13. GUI - Slider 사용하기 [바로가기]
14. GUI - List Box와 Pop-up Menu [바로가기]
15. GUI - Check Box와 Radio Button [바로가기]
16. GUI - 종합 예제 [바로가기]

본 강좌에 사용되는 MATLAB은 버젼 7.9.0 (R2009b)을 대상으로 합니다.





위 화면이 MATLAB을 처음 실행하면 나타나는 화면입니다. 크게 4개의 window가 있는데요. 

1. Current Window 는 현재 사용중인 폴더의 화일을 보여줍니다.
2. Command Window 는 현재 내가 입력한 명령어와 그 실행결과 혹은 에러들을 보여줍니다.
3. Workspace Window 는 사용되는 변수와 그 내용이 나타납니다.
4. Command History Window 는 이제까지 입력되었던 명령어 history가 저장되어 있습니다.




MATLAB의 외부명령어들은 화일로 존재하는데요. 물론 사용자가 직접 작성한 코드도 외부명령어가 되지요. 이런 외부명령어들이 존재하는 경로를 지정해 주어야할 때가 있습니다. 이럴때 Path를 지정하게 됩니다. 저는 Current Folder를 시작할 때 지정하고 사용하는 습관이 있어서 MATLAB의 기본 Path는 건드리지 않습니다만, 습관에 따른 문제이니 Path 변경에 대해 이야기 해야겠네요. Path를 변경하는 것은 위의 그림처럼 File-Set Path를 실행하면 됩니다.


그러면 위와 같은 창이 나타나는데 여기서 Add Folder를 선택해서 추가하고 Save하면 됩니다.



다음은 세미콜론(;)의 사용인데요. MATLAB은 C나 C++처럼 문장의 끝을 세미콜론으로 표현합니다. 그러나 세미콜론을 붙이지 않아도 문제는 없습니다.


위 그림에서 a=1이라고 하면 a라는 변수에 1이라는 값을 저장하게 되는데 다시 그 결과를 Command Window에 다시 그 결과가 나타납니다. 그러나 b=1;이라고 하면 b에 1을 저장하긴 하지만 그 결과를 보여주진 않습니다.


그렇게 저장된 변수는  Workspace에 저장되어 있음을 확인할 수 있습니다.


명령어를 일일이 입력하는 것은 불편하지요. m-file을 편집하는 별도의 에디터가 있습니다. 처음 작성할 때는 위 아이콘을 눌러주면 되고, 기존의 m-file은 Current Window에서 열면 됩니다. 그러면 


위와 같은 에디터 창이 나타납니다. 위에서 작성하고 Command Window로 보내는, 즉, 실행하는 방법은


위 상태에서 긁어서 F9를 눌러서 실행해줄 수도 있고,


위에 표시된 Save and Run 버튼을 눌러주면 됩니다. 위 버튼을 누르면 저장한 후에 실행을 하게 되는데, 이는 저장한 후에 Command Window에서 저장된 화일명을 직접 실행해주는 것과 같은 동작입니다.





위 그림이 Command History인데요. 위에 보이듯이 한번 MATLAB이 기동된 시점 단위로 묶여서 입력된 명령어들이 저장되어 있습니다.


이를 블럭지정이나 한 줄만 마우스 우클릭을 해보면 복사나 실행이 가능합니다.

http://pinkwink.kr/trackback/265 관련글 쓰기
  • 엘리 2010/03/05 00:00

    메트랩 버젼 몇이에용???

  • Funalism 2010/03/09 12:56

    좋은 자료 잘 보고 갑니다.
    현재 매트랩 PPT를 만들고 많은 도움이 되네요.
    책을 보고 하니, 기존에 배운 자료들이 너무 많아서 이걸 다 PPT에 적자니 요약 하기도 힘들고
    대충 방향을 제시해 주신 것 같아 앞으로 PPT작성하는데 수월할 듯 싶어요
    자주 들리겠습니다^^

    ps. 저도 매트랩 관련 ppt가 완성되면 PinkWink님에게 공유할께요^^
    물론 초심자용이지만,,ㅎㅎ

    • PinkWink 2010/03/09 17:43

      좋은 자료라 말씀해주셔서 오히려 몸둘바를 모르겠습니다..
      정보의 공유.. 몹시 좋아합니다.^^.
      완성되시면 트랙백 부탁드립니다...^^

  • 3학년 2010/03/13 21:17

    안녕하세요
    3번째 강좌까지 보고 댓글을 달아요
    오늘 MATLAB을 처음 접했는데 공부를 해보려고 책도 찾아보고 인터넷도 찾아봤는데
    여기가 제일 그림이랑 글이 조합이 잘맞아서 이해하기 정말 수월했어요ㅋㅋ
    앞으로의 강좌도 기대하겠습니다 좋은자료 부탁드릴게요^^

    • PinkWink 2010/03/14 16:09

      예... 감사합니다.. 근데 앞으로의 강좌를 기대해주신다니.. 긴장되는데요..ㅎㅎ 열심히 만들어야겠습니다.^^

  • 왕초보Matlab 2010/03/13 23:29

    안녕하세요. 수학과 수업듣고 있는데.. 교수님이 Matlab으로 문제를 풀어오라는 과제를 주시네요.

    수학도 힘들어 죽겠는데.. Matlab을 처음 만져서 너무 깜깜했는데..

    너무 좋은 자료 올려주셔서 정말 감사합니다.

    책을 한권 구입하긴했는데.. 너무 수준 높은걸 구입한건지...

    matlab CD 구해서 깔고 여는것 까지 성공한 저로서는 너무 힘들더라구요.

    앞으로도 좋은 자료 부탁드리구요..

    아참..

    혹 저와 같이 이제 갖 Matlab 깔고 공부를 하는 학생수준에 꼭 맞는

    Matlab 관련 서적이 있으면 한권 추천해 주시겠어요?

    try_lds@hanmail.net 이구요..

    이름은 이동수 입니다

    민형기 선생님이시죠? 메일 부탁드릴께요~

    • PinkWink 2010/03/14 16:12

      사실 저는 책으로 MATLAB을 공부한 적이 없답니다..ㅜ.ㅜ
      matlab은 정말 help 기능이 압도적이거든요...

      demo라고 command window에서 입력하시거나
      help메뉴에서 들어가서 보시면

      기초에 대한 동영상 강의까지 있습니다
      뭐 비록 영어로 되어있긴하지만..
      이해하는데는 아무 문제가 없답니다^^

  • 왕초보Matlab 2010/03/13 23:30

    아참.. 참고로 제가 쓰는 버전은 7.1입니다.

    • PinkWink 2010/03/14 16:12

      네.. 그런데 matlab은 요즘에는 버젼이 바뀐다고 크게 달라지는 것이 없답니다.^^

  • 아퀼라니 2010/03/14 15:18

    교수님께서 맷랩한번 써보라그래서 강좌 찾고 있는데 너무 좋네요.

    강좌 계속 부탁드리겠습니다 ^^

  • 초보 2010/03/14 15:27

    감사합니다^^ 배우기 막막했는데 ㅎ

    잘볼게요

    • PinkWink 2010/03/14 16:14

      네... 도움이 되었다면 저도 역시 기쁠뿐입니다.

  • 힝힝 2010/05/24 21:43

    코드는 작성을 하시는건가요 ? 아니면 기본적으로 블록설치를 하고나면
    코드가 자동으로 생성이되는건가요ㅠㅠ?
    도대체 그렇다면 그 코드는 어디가서 봐야하나요 ?ㅠㅠ

    • PinkWink 2010/05/25 00:46

      물론... MATLAB은 m-file editor라고 부르는 것으로 코드를 작성할 수도 있고, 간단한 경우는 MATLAB command window에서도 작성할 수 있습니다.

  • 힝힝 2010/05/25 18:35

    그럼 제가 지금 color segmentation을 공부를 하고있는중인데
    help기능으로 열심히 보고는 있지만 처음접하는거라 모르는것 투성이더라구요ㅠ color segmentation도 소스를 알 수 있을까요 ?
    시뮬링크 자체가 처음이라서 이것저것 모두 어렵게만느껴지네요ㅠㅠ

    • PinkWink 2010/05/26 00:19

      simulink관련 질문이신가요???
      시뮬링크라고 하지 않으시고 m-file관련 글에 질문을 하셔서 시뮬링크관련인지 몰랐네요.
      시뮬링크도 하나의 언어라고 보셔야합니다.
      그렇게 블럭으로 만들어져있는 언어이지요.
      그리고, 죄송합니다만, 전 color segmentation에 대해서는 모른답니다....ㅠㅠ

  • 민우 2010/10/08 23:02

    핑크윙크님, 안녕하세요 ^_^;;

    수업시간에 매틀랩을 교수님께서 쓰시더라구요, 과제도 내 주시고.

    근데 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ 여기 정말 천국이네요 ㅠㅠㅠㅠ
    잘보겠습니다, 고마워요.. ㅠㅠㅠㅠㅠㅠㅠ

    아 왜 감동이 자꾸 ....... ㅠㅠㅠㅠㅠ 저 미쳤나봐요ㅠㅠㅠ


    좋은하루보내세요 ^^

    굿밤 !!

  • 우유 2010/11/30 11:30

    command window 창에서 sine 그래프를 그리는데 t=0:1:10 을 t=0:0.1:10 으로 수정하고 싶은데 한번 써진 글은 지워지지가 않더라구요.. 어떻게 해야하나요?

    • PinkWink 2010/11/30 15:48

      command window 애서는 그냥 입력하면 됩니다.
      t=0:1:10 라고 입력하고서 다음에
      t=0:0.1:10 라고 입력하면...
      그냥 두번째입니다. t 변수엔 마지막 것이 들어가니까요...

  • 문준호 2011/01/24 16:12

    형기행님 이렇게 성함을 직접적으로 여기서 공개를 해도 될련지 모르겠지만 너무 반가운 마음에 이렇게 댓글을 작성하게 되었습니다. 형님도 아시다시피 대략적인 역학 수식해석이 끝나고 LQR제어기 관련 자료를 찾다가 이렇게 형님 사이트에 들어오게 되었네요.. 왜 학창시절에는 이런게 있는줄 몰랐을 까요??ㅋ 죄송스럽네요.. 지금이라도 형님 지식좀 얻어갈려고 합니다. 형님 고맙습니다..^^

    • PinkWink 2011/01/24 19:02

      그럼.. 공개해도 되지. ㅋㅋㅋㅋ
      음... 실제 사용할때는 정말 간단하니... 쓸만하지...
      토요일에 또 한잔하자....^^

  • 문준호 2011/01/24 21:15

    현재 천돈이 형이 매트랩 m파일이랑 시뮬링크 던져주고 매칭 시키면서 이해를 하라고 하는데 결과창을 분석해보니깐 필터의 중요성은 알 수 있었습니다. 자동제어 그리고 매트랩 오늘부터 사랑해야 될 것 같습니다. 형님...
    아마도 형님한테 질문이 많아 질 것 같습니다. 형님 먼저 이사이트를 파고나서 질문사항이 있을때 질문을 많이 남기도록 하겠습니다. 사랑합니다 행님..ㅋ

    • PinkWink 2011/01/25 08:05

      그려... 노력하는 우리 모습이 아름답다.. 클클

  • SYL 2011/02/01 10:49

    MATLAB 배우고 있는 학생입니다
    연재 자료 너무 좋네요 ^^ 잘 배우고 갑니다

  • 지빈 2011/03/05 13:47

    PinkWink님 좋은 지식공유 감사드립니다. 종종 배우러오겠습니다. ^^

    • PinkWink 2011/03/07 08:47

      네.. 요즘 제가 블로그에 투자할 시간적 여유가 부족해서 많은 도움이 될지는 잘 모르겠습니다.ㅠㅠ

  • ㅂㅈㄷ 2011/03/29 01:09

    안녕하세요 매트랩 막 시작햇는데요ㅠ
    current window, workspace window, command history 같은 창들을 잘못해서 꺼버룠는데요 ㅠㅠ 다시 어떻게 키나요?ㅜ

  • 진철 2011/07/20 14:40

    감사합니다. 저도 매트랩을 배우기 위해 막 시작했는데 자세한 설명과 자료 공유 너무나도 감사합니다. 큰 힘이 될것입니다. 로봇관련쪽 제어를 배워보고 싶어서 시작했거든요~! 과연 얼마나 걸릴지 모르겠지만 많이 배우겠습니다~

    • PinkWink 2011/07/20 16:18

      네... 어렵긴 하지만, 정말 재미하나는 끝내주죠^^.. 화이팅입니다.
      더불어 제가 일하는 연구소 블로그를 오픈했는데 한번 방문하시면 그것도 괜찮을 겁니다.^^
      ntrexlab.co.kr 이랍니다.^^

  • 초보자 2011/09/16 01:15

    안녕하세요. 매트랩 처음 사용하고 있는데요 매트랩7 사용하고 있습니다.
    hwp1_data.mat 파일을 열려고 하는데 커맨드라인에 load hw1p1_data 라고 치면??? Error using ==> load Unable to read file hw1p1_data: No such file or directory. 이런식으로 에러가 나면서 안되네요
    file-open 으로 hw1p1_data.mat 열면 Error using ==> load Unable to file C:\폴더경로\hw1p1_data.mat: Invalid argument. 라고 뜨면서 안됩니다.
    어떻게 해야 할까요?

    • PinkWink 2011/09/16 08:59

      matlab의 directory window에서 더블클릭으로 직접 열어보고도 안되면, mat화일 자체가 에러이든지, 만약 mat화일이 정상이라면, 한글 지원상에서의 문제가 아닐까요??

  • 초보자 2011/09/18 21:06

    아 직접 연결하니깐 열립니다. 감사합니다^^ 인제 과제 시작해야겠네요ㅠ

    • PinkWink 2011/09/19 08:22

      네.. 직접 열린다면, open명령어 사용법에 어떤 오류가 있었던 모양이네요. 하여간 된다니 다행입니다.

  • 초보자 2011/09/20 02:13

    과제를 하면서 몇가지가 막혔는데요. 8x8행렬에서 원소값이 0.7이상인 값들을 찾아서 그 값들의 합, 평균, 분산, 표준편차를 구하려고 합니다. 이걸로 matlab 코드를 작성해야합니다. 이 자료들을 이용해서 text명령어를 이용해서 분산플롯을 작성하려고 하는데요 계속 찾아보고 하니깐 find(a>0.7) 이 명령어는 0.7보다 큰 원소의 위치를 알려주는데요 원소값을 알려면 어떻게 해야 하나요? 합 명령어는 sum이고 평균은 mean까지는 찾았는데 분산, 표준편차, 차(마이너스) 명령어도 알고 싶어요ㅠ 이게 먼저 구해져야 분산플롯을 어떻게 시작해 보는데 안되네요ㅠ

    • PinkWink 2011/09/20 08:33

      http://pinkwink.kr/369 를 참조하시면 원하는 값을 찾는 방법을 이야기했습니다.
      분산, 표준편차등의 명령어....
      저는 명령어를 많이 알지 못합니다.
      일반적으로 matlab의 help 문서나 matlab central에서 찾을때가 많고
      더 많은 경우는 왠만하면 그냥 만들어서 사용합니다.
      분산, 표준편차처럼 공식까지 이미 알 수 있는 경우는 더욱 그렇지요.

  • 초보자 2012/03/27 00:09

    아 매트렙 너무 막막했는데 님 블로그 보고 많이 참고가 됩니다.
    너무 감사합니다 ㅠㅠ

  • 완전초보 2012/07/03 10:35

    정말 감사합니다.

  • 밝은생각쟁이 2012/09/03 11:31

    도움이 되었습니다. 감사합니다.

  • 김진욱 2012/12/26 15:08

    궁금한점이 있는데요 제가 만든 GUI에서 command window와 command history를 불러와서 사용할 수는 없나요?
    제가 만든 GUI에서 위의 2개와 같은 함수를 만들어서 사용해야되는건가요?

    • PinkWink 2012/12/26 17:55

      글쎄요.. 저도 잘 모르겠습니다. 불러오는 함수가 있는지는 help document를 뒤져봐야할 듯 한데요