오늘 강의 내용 (2014/01/17) - it academy · 2014-01-17 · matlab programming gui application...
TRANSCRIPT
![Page 1: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/1.jpg)
MATLAB Programming
오늘 강의 내용 (2014/01/17)
MATLAB GUI 만들기 기초
1
![Page 2: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/2.jpg)
MATLAB Programming
MATLAB GUI 프로그래밍
2
![Page 3: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/3.jpg)
MATLAB Programming
GUI 만들기
New Graphical User Interface 선택
3
![Page 4: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/4.jpg)
MATLAB Programming
UI Editor
4
![Page 5: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/5.jpg)
MATLAB Programming
GUI Application
데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터 행렬
데이터를 읽고, bar 그래프로 그려주는 GUI Application을 제작
GUI Application 개발 스텝
• 1. 사용자 인터페이스를 어떤 식으로 만들지 구상
• 2. 사용자 인터페이스를 키보드나 마우스 등으로 조작했을 때, 해당
이벤트를 처리할 수 있는 코드 작성
5
![Page 6: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/6.jpg)
MATLAB Programming
사용자 인터페이스 디자인
6
파일 읽어오기
버튼 누르면
파일 선택 창 뜸
바 그래프
파일 선택 후버튼 누르면
![Page 7: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/7.jpg)
MATLAB Programming
UI 컴포넌트 배치하기
원하는 디자인대로 UI 컴포넌트를 배치
7
![Page 8: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/8.jpg)
MATLAB Programming
UI 실행해보기
8
![Page 9: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/9.jpg)
MATLAB Programming
버튼 속성 바꾸기
9
버튼 더블클릭하면
속성 창 (Inspector) 열림
![Page 10: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/10.jpg)
MATLAB Programming
버튼 속성 바꾸기
10
버튼 이름과 폰트가 바뀜
![Page 11: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/11.jpg)
MATLAB Programming
버튼 눌렀을 때 실행될 코드 작성하기
버튼 선택 후 마우스 오른쪽 버튼을 누르고 View Callbacks
ButtonDownFcn 을 선택
11
• pushbutton1_Callback 함수가 선택됨
• 이 곳에 버튼이 눌렀을 때 실행될 명령어 작성
![Page 12: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/12.jpg)
MATLAB Programming
버튼 눌렀을 때 실행될 코드 작성하기
버튼이 눌러지면, 파일을 선택할 수 있는 UI 창이 떠야 함
• uigetfile 함수를 사용하면 파일 선택할 수 있는 UI 창을 띄울 수 있음
12
![Page 13: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/13.jpg)
MATLAB Programming
버튼 눌렀을 때 실행될 코드 작성하기
버튼이 눌러지면, 파일을 선택할 수 있는 UI 창이 떠야 함
• uigetfile 함수를 사용하면 파일 선택할 수 있는 UI 창을 띄울 수 있음
13
![Page 14: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/14.jpg)
MATLAB Programming
버튼 눌렀을 때 실행될 코드 작성하기
14
• uigetfile 창에서 “열기” 를 하면 filename과 path가 반환됨
• 파일 경로와 이름을 이용하여 데이터를 읽어옴
![Page 15: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/15.jpg)
MATLAB Programming
버튼 눌렀을 때 실행될 코드 작성하기
데이터를 bar 그래프로 그리기
• axes 컴포넌트의 핸들 얻어오기
– handles.axes컴포넌트이름
15
![Page 16: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/16.jpg)
MATLAB Programming
완성
실행 파일 열기 traffic.txt 선택
16
![Page 17: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/17.jpg)
MATLAB Programming
기능 추가하기
라디오 버튼을 추가하여, Bar 그래프를 grouped bar 그래프로 그릴지, stacked
bar 그래프로 그릴지 선택
17
Button Group 을 선택하여 그림 Radio Button 두개를 놓음
![Page 18: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/18.jpg)
MATLAB Programming
Button Group의 Label 변경하기
18
원하는 이름으로 적으면 됨
• eg) Grouped/Stacked
![Page 19: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/19.jpg)
MATLAB Programming
Button Group의 Label 변경하기
19
원하는 이름으로 적으면 됨
• eg) Grouped/Stacked
Button Group 컴포넌트를 더블
클릭하면 왼쪽과 같은 Inspector
창이 열림
Title 속성에 원하는 이름을 적으면
컴포넌트의 타이틀이 변경됨
![Page 20: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/20.jpg)
MATLAB Programming
라디오 버튼 Label 변경하기
Button Group의 Label 변경하는 방법과 동일하게 Radio Button
컴포넌트의 타이틀도 변경
20
![Page 21: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/21.jpg)
MATLAB Programming
라디오 버튼을 선택했을 때 실행할 코드 작성하기
두 라디오 버튼이 toggle 되어야 하므로, 마우스로 Button Group 컴포넌트를 선택한 후
마우스 오른쪽 버튼을 누르고 View Callbacks SelectionChangeFcn 을 선택
21
• uipanel1_SelectionChangeFcn 함수가 선택됨
• 이 곳에 라디오 버튼이 토글 되었을 때
실행될 명령어 작성
![Page 22: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/22.jpg)
MATLAB Programming
라디오 버튼을 선택했을 때 실행할 코드 작성하기
22
라디오 버튼을 선택했을 때, 바 그래프를 다시 그려야 하므로,
그래프 컴포넌트에 대한 핸들을 얻어옴
hObject에 어떠한 라디오 버튼을 눌렀는지 정보가 들어있음
각 라디오 버튼이 선택되었을 때의 액션을 지정함
![Page 23: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/23.jpg)
MATLAB Programming
각 라디오 버튼의 명칭 확인하기
각 라디오 버튼의 명칭에 따라 handles.radiobutton_N 이 될 수 있음
확인 방법
• 라디오 버튼 선택 후 더블 클릭
Inspector 창에서 “Tag” 속성의 값 확인
23
![Page 24: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/24.jpg)
MATLAB Programming
데이터 저장 변수를 global 로 선언하기
“파일 열기“ 버튼을 눌렀을 때 최초로 파일에서 데이터를 읽어 옴.
global data 를 선언하지 않으면, 파일로부터 읽어와 data 변수에 저장된 데이터는 function
pushbutto1_Callback() 내에서만 사용되고 다른 함수에서는 사용할 수 없음
라디오 버튼의 액션을 제어하는 함수는 function uipanel1_SelectionChangeFcn() 함수 (즉,
pushbutton1_Callback() 함수의 밖에 정의 된 함수) 이므로, data 변수에 접근할 수 없음.
global data 라고 선언하면, 다른 함수에서도 data 변수에 접근 가능
24
![Page 25: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/25.jpg)
MATLAB Programming
데이터 저장 변수를 global 로 선언하기
데이터를 가져다 쓸 다른 함수에서도 global data 라고 선언을 해주어야
외부 함수에서 정의한 data 변수에 접근할 수 있음
25
![Page 26: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/26.jpg)
MATLAB Programming
Quiz
기능을 조금 더 확장해서, 바 그래프를 수직으로, 수평으로 보여주는 라디오 버튼을 추가해보자.
26
![Page 27: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/27.jpg)
MATLAB Programming
Quiz Sol.
각 함수별로 바뀌는 부분
27
![Page 28: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/28.jpg)
MATLAB Programming
Quiz Sol.
각 함수별로 바뀌는 부분
28
![Page 29: 오늘 강의 내용 (2014/01/17) - IT Academy · 2014-01-17 · MATLAB Programming GUI Application 데이터가 저장되어 있는 txt 파일을 선택하면, 해당 파일로부터](https://reader030.vdocumento.com/reader030/viewer/2022040812/5e551e3e922b7540656f42d6/html5/thumbnails/29.jpg)
MATLAB Programming
Quiz Sol.
각 함수별로 바뀌는 부분
29