강좌 순서

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의 GUI 시작하기 !  
 

MATLAB에서도 GUI 환경을 구축할 수 있습니다. 여기서 구차하게 GUI란 무엇인가?? 라는 말은 좀 그러니까 그건 위키디피아에 넘겨두고 [관련글], MATLAB에서 GUI를 어떻게 다루는지에 대해 이야기 해보겠습니다. 


위에 표시된 아이콘을 누르든지, 혹은 command window에서 guide라고 입력하면


이런 창이 하나 뜹니다. Blank GUI를 선택하고 OK버튼을 누르면


위의 창이 뜹니다. 음... 왼쪽에 표시된 아이콘들이 어떻게 되는지 잘 모르니까, 설정을 좀 만지죠. 위 창의 메뉴에서 File을 선택하고, preference를 선택하면


위의 화면이 나오는데요. 여기서 표시된 부분 이름을 보여라??는 부분을 체크하시고 나면


이렇게 각 아이콘들의 이름이 나옵니다. 많은 설명을 하기 전에 빈 공간을 팔레트라고 하는데요. 크기를 조절한 방법은


위에 표시된 부분을 마우스로 클릭하고 옮겨보시면 크기를 조절할 수 있습니다.




   위치 간격 조절하기 !  
 


 
Push Button을 하나 가져다 놓고 CTRL+C, V로 위와 같이 아무렇게나 배치를 해보죠. 다시 Push Button을 가져와도 되지만, 그러면 초반에 일정크기로 만들어지지 않아서 말이죠.^^ 우리는 처음이니까 복잡하지 않게 간단히 접근해보죠^^ 그리고, 위에서 처럼 외쪽 세개를 선택하시고

 
위에 표시된 Align 어쩌고 하는 아이콘을 눌러줍니다. (혹은 마우스 오른쪽 버튼으로 선택하셔도 되구요)


그러면 위와 같은 창이 뜹니다. 사실 뭐 그림만으로도 알 수 있는데요. 그래도 처음이니까...^^ 위와같이 Vertical은 off로 두고 Horizontal만 OFF 옆에 있는걸로 선택해 주면


이렇게 정렬이 잘 됩니다.

 
그리고 Vertial에서 일정간격 (off 밑에)을 유지하도록 하면 위 그림처럼 되죠. 




   간단한 예제 학습하기 - Push Button, Edit Text, Static Text, Axes!  
 

방금 위에서 작업하셨던 창을 닫고 다시 GUIDE 명령으로 새창을 띄우세요.

 
그리고 위의 그림처럼 마우스로 가져다가 놓아 보죠. 크기나 이런건 크게 신경쓰시지 않아도 됩니다. 하다보면, 다음에 할땐, 좀 신경쓰는게 보기 좋구나.. 하고 스스로 알게 됩니다.^^ 

- Static Text

 
Static Text를 가져다 팔레트에 놓으셨자나요..?? 그걸 더블 클릭하거나, 혹은 마우스 오른쪽 버튼에서 Inspector를 선택하거나, 혹은 클릭을 한번만하고 도구모음에서 Inspector를 선택하면 위와 같은 창이 뜹니다. 그 중 위에 표시된 String이라고 되어 있는 부분을 수정하시면, 화면 상에 보이는 글자라 바뀝니다. Static Text는 프로그램 구동상에서는 아무 역활을 하지 않는 고정된 글자열입니다. 위에 표시된 부분을 아래에 처럼 수정하세요.

 
제가 Static Text를 두개 가져다 놓았는데요. 그리고 위에 나타난 부분을 수정하시면, 폰트 변경이나 글자크기 조절, Bold, 색깔 등등을 수정하실 수 있습니다. 앗.. 하나 더 음... 본래 만드신것에서 모두 선택 CTRL+A을 하셔서 좀 아래로 내리서고 아래처럼 제일 위에 Static Text를 하나 더 두죠. (아무래도 제목이 있어야할 듯 해서요^^)


이제 Static Text 3개를 위와 같이 한번 수정해 보세요^^ 그리고 나면 이제 저장을 한 번 해보죠. GUI가 뭔지 이때쯤 한번 실행도 해볼겸 말이죠


저장 버튼을 누르면 이름을 지정하도록 하는데요. testGUI라고 입력하고 나면


갑자기 어떤 코드가 잔뜩 들어가 있는 m-file 에디터가 나타납니다. 뭐 놀라실건 없습니다. 그냥 놔두고


실행 버튼도 한번 눌러보죠


이렇게 되네요^^ 아직... 아무 기능도 없습니다.^^

- Edit Text

이제 Edit Text를 좀 건드려야겠네요. 그전에 제가 할려는 예제가 무엇인지 아시겠죠?? 바로, sin(2*pi*F1)+sin(2*pi*F2)를 그릴려고 하는 것입니다. 그 중 F1과 F2는 사용자에게 입력을 받게끔 하는거죠. 그래서 Static Text로 F1, F2는 여기서 입력이라고 말해 준 것이구요. 실제 사용자는 


Edit Text에 입력하도록 하는 것이죠. 예... Edit Text는 사용자에게 변수를 입력받도록 하는 역활을 합니다. 그러면 어떻게?? 위의 Edit Text 중 왼쪽걸 더블클릭해보면


이렇게 Inspector가 뜬다고 했죠??^^ 거기서 StringTag가 보이실 겁니다. String을 바꾸시면, 화면상에 나타나는 Edit Text라는 글자가 바뀝니다. Tag는 그 값을 저장하는 변수의 이름이라고 생각하시면 됩니다. - 누차 말씀드리지만, GUI환경에서 세세한 부분은 직접 책과 Help 문서를 이용하시는게 더욱 좋습니다. 전 그저 빠르고 쉽게 처음 접근하는 분들께 도움을 드릴려고 하는 것이니까요...- 그래서 저 부분을


이렇게 바꿔줍니다. Tag를 F1이라고 둔건 제가 현재 할려는 예제를 보니 아시겠지만, 왜 String을 1이라고 두는가하면, 초기값이라고 생각하시면 됩니다. ^^


그리고, 그 옆의 Edit를 여셔서 위와 같이 수정하시면 됩니다. 

- Push Button

이제 사용자에게 입력받는 부분이 끝났네요. 그리고 Push Button을 누르면 그리도록 해야겠네요. Push Button을 더블클릭하셔서 Inspector 창을 여시고


string은 PLOT으로 변경하시고, Tag는 뭐.. 그냥 놔두죠...^^ 우린 Push Button이 하나 뿐이니까요... 그리고, Push Button을 선택하고 마우스 오른쪽을 눌러 Edit m-file을 선택하시든 혹은 저장할 때 같이 떴던 m-file 에디터를 보시면 function pushbutton1_Callback 이라는 구문이 있습니다. 그 곳에 아래 코드를 입력하시면 됩니다.


코드를 설명해 보겠습니다. 먼저, 사용자에게, F1, F2를 받아와야되자나요.. 사용자가 입력했든, 혹은 제가 입력해둔 초기값을 사용하든지 간에 Edit Text에 있는 수치를 받아야합니다. 그것이

get(handles.F1, 'String')

입니다. GUI 내에서 어떤 도구-Edit Text든, 뭐든-를 건드릴려면 handles이라는 객체를 거쳐야(?)하는 데요. 그냥 저렇게 쓰자고 일단 생각하세요^^ 그래서 그곳(F1, F2)에 있는 숫자를 가져와야합니다. 문제는 걔네들이 문자라는 것이지요. 그래서 str2double 이라는 명령으로 문자를 숫자(double 형의)로 변경하는 것입니다. 그러면, f1, f2를 받는 부분은 아셨을테고....

그림을 그리기 위해 그 아래 부분을 시간범위를 잡고, y를 도출하도록 하였지요. 마지막이 남았네요. 그려야죠...^^

GUI 에디트창에서 axes를 가져다 놨자나요. 그걸 더블클릭해서 tag를 확인해보면 axes1입니다. 그래서

plot(handles.axes1, t, y)

라고 명령을 주어서 axes1에다가 plot하라고 명령을 주는 것입니다. 




저장하고 실행해서 적절한 값을 넣고, PLOT이라고 이름붙은 Push Button을 누르면 그림이 나타납니다.

http://pinkwink.kr/trackback/293 관련글 쓰기
  • 핑구야 날자 2010/04/21 08:07

    듣다보면 뭔가 배우는 게 있겠죠.. ㅜㅜ

    • PinkWink 2010/04/21 08:23

      이참에 MATLAB 을 한번 장난감 삼아 가지고 놀아보시는건 어떠세요?^^ ㅎㅎ

  • Woohyun_ 2010/05/09 09:51

    잘배웠어요~~
    근데 제가 matlab실행해보았는데 자꾸에러가나는데 ...
    올려주신 m-file또한 실행이 안되서요~~ 저는 2009인데 ..

    무슨문제가 있는것일까요 ..

    • PinkWink 2010/05/09 21:37

      정상적으로 설치가 되었다면 path 문제일 수가 있습니다. 현재 작업경로를 확인해보세요^^

  • Woohyun_ 2010/05/10 04:13

    어떻게 확인해야 하는지 ;;
    ??? Error using ==> load
    Unable to read file testGUI.fig: No such file or directory.

    Error in ==> hgload at 43
    fileVars = load(filename,'-mat');

    Error in ==> openfig at 72
    [fig, savedvisible] = hgload(filename, struct('Visible','off'));

    Error in ==> gui_mainfcn>local_openfig at 286
    gui_hFigure = openfig(name, singleton, visible);

    Error in ==> gui_mainfcn at 159
    gui_hFigure = local_openfig(gui_State.gui_Name, gui_SingletonOpt, gui_Visible);

    Error in ==> testGUI at 42
    gui_mainfcn(gui_State, varargin{:});

    이런식으로 떠서 실행이 안되네요 도와주세요~~

    • PinkWink 2010/05/10 10:39

      testGUI.fig 를 읽을 수 없다는 말이니
      testGUI.fig의 경로가 testGUI.m과 같은 곳에 저장되어있으면서, path가 지정되어있든지 혹은 current folder에서 작업을 하시면 될 듯합니다.

  • 진상현 2010/05/19 13:05

    안녕하세요 핑크윙크님 홈페이지에서 정말 많이 배우고 써먹고있는 학생입니다. GUI를 만들어서 컴파일링한후 다른컴퓨터에서 실행시 mclmcrrt78.dll이 파일이 필요하다는 에러가 뜨는데 어떻게 구해야 하는지 알 수 있을지 해서 질문드립니다. 어떻게 좀 구할 수 있을까요;;? icemoon65@naver.com

  • 진상현 2010/05/19 13:24

    아.. 컴파일러 돌린 다음에 패키징을 해야하는군요 ㅠㅠ 학교와서 실행이 않되서 당황했습니다.

  • 연성모 2010/06/07 21:20

    안녕하세요 질문좀드리려고 글을씁니다.
    GUI로 구성된 axes2 에다 subplot을 사용해서 그래프를 두개 집어 넣고 싶은데요, 이리저리 해봐도 방법을 모르겠습니다.
    handles.axes2를 이용하면 plot는 그릴수가 있는데 subplot은 불가능한건가요?
    제가 하는 작업은
    subplot(2,1,1), plot(at,y)
    subplot(2,1,2,),plot(t,ifftshift(ay))
    요 두녀석을 axes2에다 집어넣는 것입니다.
    조언을 구합니다.

    • PinkWink 2010/06/07 23:45

      헉.. 미처 그것까지는 확인 안해봤는데요...ㅠㅠ 시간이 허락하면, 공부해서 관련글을 포스팅하겠습니다.

  • 김동희 2010/06/19 00:28

    님 정말 감사합니다
    지금 과제하고있는데 큰도움이 되었습니다!! 정말 감사합니다~

    • PinkWink 2010/06/19 13:51

      넵... 도움이되서 저또한 기쁩니다...ㅋㅋ

  • 구성모 2010/07/12 03:13

    ^^ GUI 세계로 들어가는데 빛이 되어 주시는 군요 ㅋㅋ
    궁금한게 있어서 그런데 button을 한번 누르면 button_callback 함수안의 for 문이 돌아가면서 진행정도를 text 에 출력하려고 그럽니다. 근데 for 문안에 set함수가 들어가니 for문 결과 한번만 출력 됩니다ㅠ
    for문 한번마다 count 되면서 바로바로 text창에 출력될수 없을까요?ㅠ 감사함니다~

    • PinkWink 2010/07/11 17:39

      for문안에 set명령이 있다고 해서 for문을 그냥 마치지않습니다. 분명 for문안에 사용된 코드에 논리적 오류가 있을 겁니다. 구문오류라면 command window에 나타날 것입니다. 그리고, ( http://pinkwink.kr/notice/289 )를 참조하셔서 가급적 비밀댓글로 질문하지 마시고, 다른 사람들과 함께 질문을 공유하시지요^^

  • 구성모 2010/07/12 03:19

    ^^비밀글죄송합니다~! 질문 하나 다시 드려도 될까요..? for 문이 끝난다는 말이 아니었고,
    for i=1:10
    set(handle.text1,'String",변수);
    변수 = 변수 + 1;
    end
    이렇게 한다면 for가 10번 돌동안 set 함수에 의해서 text1의 표시가 10번 값을 표시 하지 않고 마지막 10번째 결과만 한번 출력한다는 뜻이었습니다.
    for 문 한번 루프 돌때마다 edit text에 변수의 변화된 값이 출력할수 있는 방법이 있는지요.^^ 여기서 정말 많은 지식 얻고 있습니다. 조금 더 부탁드려도 될까요^^

    • PinkWink 2010/07/12 03:30

      일단.. 분명 바뀝니다^^
      그러나 너무 빠르기 때문일 수도 있습니다.
      요즘은 PC 속도가 왠만큼 빠르기때문에
      어지간한 코드는 말씀하신것처럼 짜면 마치 맨마지막만 실행한듯 보입니다. 너무 빨리 지나갔거든요^^
      for문 내에서 edit box의 속성을 변경하고 난 다음
      다시 for문을 의미없이 하나 두어서 delay를 두시면 될듯합니다.
      for temp=0:50000
      re=temp;
      end
      이렇게 말이죠.. 뒤에 50000숫자는 컴의 속도에 따라 적절히 조절해보시구요.^^
      (답변이 되었어야할텐데 말이죠^^)

  • 구성모 2010/07/15 02:34

    답변 감사합니다.^^
    하지만 해결은 안되네요
    제 짧은 생각이지만 반복문 내에 set 함수가 들어가면 한번만 실행이 되는 것 같습니다. 도무지 text창에 카운팅 되는 과정이 출력이 되지 않네요^^
    빠르고 친절하신 답변 감사 드립니다.^^ 앞으로도 많이 배우고 가겠습니다~

    • PinkWink 2010/07/15 02:49

      네.. 해결하지 못하신 모양이군요...ㅠㅠ

  • 조홍근 2010/08/09 19:43

    plot 말고 surf 로 그래프 그릴려면, 똑같이 axes 창에서 안되나요?

    • PinkWink 2010/08/11 11:01

      음... help 문서의 GUI를 확인해보시면 확인하실수있지만, surf도 됩니다.

  • .mat 2010/09/10 20:52

    정말 감사 합니다
    gui 배우고 싶었는데
    그래도 큰틀은 잘 잡을 수 있는거 같습니다

    감사 합니다~

    앞으로 좋은 자료 많이 올려주세요~

  • 김은혁 2010/10/27 23:22

    아... 미치겠습니다.
    정말 간단한 건데요...
    단순히 push butten하나 만들고
    edit창 하나 만들었습니다.
    그리고 push butten의 함수안에 set함수를 위치시켜서 버튼을 누를때마다 특정 string이 나타나도록 했습니다.
    근데 아래의 메세지가 나오면서 멈춤니다...
    왜그런걸까요?

    Error in ==> ex>pushbutton1_Callback at 104
    set(handles.edit1,'String', 'avcd');

    Error in ==> gui_mainfcn at 75
    feval(varargin{:});

    Error in ==> ex at 42
    gui_mainfcn(gui_State, varargin{:});

    ??? Error while evaluating uicontrol Callback.

    • PinkWink 2010/10/28 15:52

      set(handles.edit1,'String', 'avcd');
      의 명령에서는 이상없이 동닥해야할 구문입니다.
      그러니 다른 곳의 에러인지를 확인해보셔야할것 같습니다.

      그리고, 말씀하신 에러에 대해서는
      저도 GUI를 그리 많이 만져본것이 아니라
      정확히 어디쯤을 보셔야겠다는 말씀을 드리기 어렵습니다.ㅠㅠ

  • 김은혁 2010/10/27 23:24

    참고로
    set(handles.edit1,'String', 1);
    이렇게도 넣어 보았는데 같은 메세지가 나옵니다...

  • 고등어조림 2010/11/04 11:33

    자꾸 질문드리네요 ㅎ;
    edit text 에서 배열을 입력해서( 0:0.01:10) 그 배열 연산 결과에 따른 위치로 그래프를 그리고 싶은데요 그럴때에는
    f1 = string2double(get(handles.F1,'string'));을 어떻게 수정해주면 되나요?

    • PinkWink 2010/11/07 01:45

      그렇게 하면 될듯도 하구요. 해보시고 안되면 'eval'명령으로 통채로 바꾸셔도 될듯합니다. 지금은 테스트할 여유가 없어서요...ㅠㅠ

  • 유헌열 2010/12/05 01:45

    gui 편집하는 창을 통해 실행시키면 잘 되는데 fig파일을 바로 실행시키고 값을 입력한 뒤 plot누르면 오류가 나네요..
    ??? Attempt to reference field of non-structure array.

    Error in ==> testGUI>pushbutton6_Callback at 78
    f1=str2double(get(handles.F1,'String'));

    Error in ==> gui_mainfcn at 75
    feval(varargin{:});

    Error in ==> testGUI at 42
    gui_mainfcn(gui_State, varargin{:});

    ??? Error using ==> testGUI('pushbutton6_Callback',gcbo,[],guidata(gcbo))
    Attempt to reference field of non-structure array.

    ??? Error while evaluating uicontrol Callback

    이렇게 나오는데 왜 이런지 아시나요?ㅜ

    • PinkWink 2010/12/05 02:36

      fig.화일을 실행하는 것이 아니라. m화일을 실행시키셔야합니다. 물론 fig화일도 같이 있어야하구요...

    • 유헌열 2010/12/05 17:10

      아 그렇군요!
      저는 fig파일이 따로 실행시킬 수 있는 파일인줄알았습니다 matlab에서 함수를 실행시켜야 하는거였군요ㅠ

      감사합니다^^

    • PinkWink 2010/12/05 21:23

      네.. 해결하셔서 다행입니다.^^

  • 하나가하나 2010/12/10 22:04

    gui 관련 질문드려도좋을까요?
    push버튼을 인터넷사이트와 링크시켜 push버튼 클릭시에 그사이트의 인터넷페이지를 띄우는법을 알려주실수있나요?
    도움부탁드립니다 ㅠㅠㅠㅠ혼자서 프로그래밍짜고있는데 이부분은 도무지감이안잡히네요..

    그럼 좋은하루 되세요!

    • PinkWink 2010/12/11 12:50

      기억이 안나네요. Help 문서에서 web이나 hyperlink 같은 단어로 검색해보시면 나올겁니다. 관련예제가... 만약 없다면. matlabcentral에서 검색하면 나올것 같은데요

  • 고구마보이 2010/12/22 02:15

    PinkWink님 최고에요 ㅜㅠ 정말 도움이 많이 되었요 앞으로도 PinkWink님
    따라서 열심히 배울거에요!! PinkWink님 쵝오!!

  • 매틀랩초보 2011/02/11 17:02

    gui 관련해서 질문이 있는데요.
    push 버튼을 두개 만들려고 합니다.
    하나는 실행 버튼이고 다른 하나는 계산하는 과정에서 강제종료하는 버튼인데요.
    실행버튼은 되는데 강제종료버튼은 먹히질 않네요.
    ctrl+c말고 계산과정을 강제종료하는 버튼 m파일 명령어 혹시 알수 있을까요?

    • PinkWink 2011/02/12 09:42

      현재제가 몸이 아파서 입원치료중이라 MATLAB을 기동시켜볼수가 없는데요...ㅠㅠ 제 기억엔 그와같은 기능이 있었습니다. 관련 영어로 계속 검색을 해보셔야겠어요... 도움이 되지 못해 죄송합니다...ㅠㅠ

  • 완전초보 2011/05/10 01:37

    안녕하세요 매틀렙을 공부하고 있는 학생입니다. PinkWink님의 강좌를
    유심있게 지켜보고 따라가고 있는데 맘 같지는 않네요 ㅠ ㅋㅋㅋ

    질문이 있는데 GUI 에서도 애니메이션처럼 그림을 이동시키는게 가능한건가요? 아무리 짜봐도 잘 안되네요 ㅠㅠ

    • PinkWink 2011/05/10 08:07

      네.. 가능했던걸로 기억납니다. 별다른 건 안했던것 같구요..
      제 연재중에 애니메이션 구현하기..에 나와있듯이 구현했던것 같아요

  • 공신 2011/05/12 16:15

    안녕하세요. 또 오게 되었습니다. 작년에는 공업수학때문에 왔었는데, 이번엔 매트랩GUI가 또 발목을 잡네요 ㅠㅠ 글 중에 보면 자세한 내용은 책을 참고하라고 하셨는데 GUI에 관한 좋은책 한권만 추천해 주시면 안될까요? 도서관의 매트랩이란 책들은 거의 다 보고있는데 GUI는 좀 부족한 책들이 많네요. 강의 잘보았습니다.

    • PinkWink 2011/05/12 18:29

      사실.. 포스팅 본문에는 책과 help문서를 참조하라고 했지만... 그냥 help문서만 참조하셔도 충분합니다. 저도 여러권의 GUI관련 책을 보았지만, 딱 하나의 책만 참조한 것은 아니었습니다. 바꿔말하면 이 책만 있으면 된다.. 싶은 것이 없었습니다.
      (오해하실까바 첨언하면, 기초적인 부분은 다들 잘 다루기 때문입니다.)

  • skysb 2011/06/08 21:19

    님아 대박 고마워요 다른거 매트랩으로 설계 하고있는데
    str2double 문자를 숫자로 변형하는거 몰랐는데
    이거 알아서 모든게 다 풀렸어요!!! 님짱 ㄳ!!

  • blast 2011/06/09 11:30

    음.. 모르는 것이 있어요.. 혹시 어디에 글을 남겨야 할지 몰라서 일단 이곳에 남깁니다.. gui상에서 선을 그릴수 있나요? 예를 들어 text박스 2개를 구분할때 가운데에 선을 하나 그려서 구분하고 싶은데.. Panel을 활용해도 되겠지만 이것보다는 간략하세 선하나로 하고 싶은데... 방법이 있나요?

    • PinkWink 2011/06/10 07:50

      예전에 누군가 선을 그어서 예쁜 모양의 GUI화면을 만든 것을 보았는데, 잠시 찾아보니 잘 안보이네요. 현재 제가 자세히 찾아볼 시간적 여유가 없어서요.

  • blast 2011/06/27 15:26

    애구... 다치신것을 지금 봤네요.,...
    언릉 쾌차하세요~

  • 회사원 2011/11/10 14:33

    감사합니다... 짱

  • 맬랩어려워요.. 2011/12/21 14:19

    안녕하세요ㅎ 학교에서 프로젝트를 하나 해야 해서.. matlab GUI기능을 이용해서 해보려고 하는데..
    가장 기본적인 명령어가 뭔지 몰라서 하나 여줘보고 싶어서요 ㅎ
    위에서 설명하신 것처럼 axes창, pushbotton 등을 잘 맞춰놓고 저장한 후에.. 나중에 뭔가 추가 하고 싶을 때에는
    무슨 명령어를 써서 편집하는 창을 다시 띄우나요?? 답변 부탁드리겠습니당 ㅎ

    • PinkWink 2011/12/21 15:36

      저장하신 이름의 m-file을 열면 코드의 수정이 가능하고
      그리고, GUI편집은 flg화일을 여시면 됩니다.
      실행은 m-file을 실행하셔야하구요.

  • 맬랩어려워요.. 2011/12/21 17:18

    저는.. fig 파일을 열면.. 그냥 실행이 됩니다.. 만들 때 봤던 편집창이 뜨질 않네요??
    7버전을 쓰고 있는데.. ㅜㅜ

    • PinkWink 2011/12/21 18:26

      윈도우 버젼과는 상관없습니다.
      오른쪽 버튼을 누르고 open을 실행하시면 됩니다.

  • 맬랩어려워요.. 2011/12/21 21:27

    아 guide를 치고 창을 열어서 '불러오기'를 해야 열리네요 ㅎ
    답변 감사합니당 ㅎ

  • 애플쨈 2012/11/17 14:57

    감사합니다. 좋은 글 잘 읽고 가네요.

  • 유도현 2012/11/26 15:38

    혹시 질문하나만 해도 될까요?
    GUI메뉴에서 Push버튼이랑 Edit text버튼 두개를 만들었거든요???
    그럼 푸쉬버튼을누르면 에딧 텍스트에 글자가 뜨게 하려고합니다
    근데 그글자가 이미 nco=320이라고 지정을 해놨구요
    푸쉬버튼을 누르면 nco에 해당하는 숫자가 edittext에 나오게 하려면
    무슨 명령어를 써야하나요??

    • PinkWink 2012/11/29 09:00

      연재에 이미 나와있습니다만, SET 명령으로 수행하면 됩니다.

  • 어렵당... 2013/11/21 12:51

    이런 글을 지금에서야 보다니.... 감사합니다~
    그런데 매트랩으로 방향키 같은것도 입력 받을 수 있나요?

    • PinkWink 2013/11/21 13:02

      네 가능하죠. 저야 당시에 필요없어서 사용은 안했습니다만, 마우스 클릭 이벤트와 같이 키보드 press에 대한 이벤트도 있습니다. matlabcentral에서 검색해보시면 아마 쉽게 나타날겁니다.
      그리고 감사합니다.^^

  • 매틀랩 초보 2014/02/11 16:12

    매틀랩 GUI를 시작한지 얼마안된 초보입니다.
    덕택에 GUI의 입문을 생각보다 쉽게하고 있습니다^^
    그런데 GUI를 하던중 질문이 있습니다. 기존에 제가 m-file로 만든 함수가 있습니다. 그 m-file을 RUN을 시키면
    원하는 그래프가 도출되는 형식입니다. 이것을 GUI에서 pressbutton을 누르면 axes창에 원하는 그래프가 출력되게 하는 프로그램을 만들려고 하고있습니다.
    이것을 가능하게 하려면 어떻게 해야할까요? 기존 m-file로 만든 함수가 너무 길어서 global을 이용해볼까 하는데 가능할까요? 가능하다면 GUI editor에 있는 여러 함수중에서 어디다가가 써야할까요? 예를 들어.. callback함수?
    너무 두서없이 질문을 했군요ㅜㅜ 답변 기다리겠습니다.

    • PinkWink 2014/02/12 08:52

      http://pinkwink.kr/299 를 보시면 버튼을 눌렀을때 그래프가 출력되는 예를 하나 다루고 있습니다. 그 글에서 세부적 사항은 글내에서 링크를 달아 두었습니다.

1 ... 26 27 28 29 30 31 32 33 34 ... 59