Presented by Byoung-Kuk Lee, Ph. D., Senior IEEE Energy Mechatronics Lab. College of Information and Communication Eng. Sungkyunkwan University Tel: +82-31-299-4581 Fax: +82-31-299-4612 http://seml.skku.ac.kr EML: [email protected]
Presented by Byoung-Kuk Lee, Ph. D., Senior IEEE
Energy Mechatronics Lab. College of Information and Communication Eng.
Sungkyunkwan University
Tel: +82-31-299-4581 Fax: +82-31-299-4612 http://seml.skku.ac.kr EML: [email protected]
1/46
Introduction of MATLAB
MATLAB의 개요
MATrix + LABoratory
행렬을 기본 데이터로 사용하는 계산환경
M-file을 사용한 프로그래밍
심볼로 이루어진 수식을 계산하는 기호 계산
수치해석, 행렬연산, 신호처리 및 간편한 그래픽 기능 등을 통합
고성능의 수치계산 및 결과의 가시화 기능을 제공하는 프로그램
사용자와 쌍방향흐름의 대화식 프로그램 : 명령어 입력하면 바로 결과 출력
MATLAB 신호 처리, 통계학, 영상 처리, 제어, fuzzy logic, 재정, 화학 공정 등
다양한 Toolbox 제공
데이터 처리 및 알고리즘 개발에 매우 편리
2/46
Introduction of MATLAB
▶ MATLAB 코딩 체계 = 수학적인 기호 + 간단한 C문법
▶ MATLAB의 전형적인 이용범위
수학과 관련된 계산
알고리즘 개발
상황 모델링과 data분석
MATLAB 여러 가지 과학과 공학적인 그래픽적 표현
GUI(Graphical User Interface)에 의한 에플리케이션 개발
MATLAB의 코딩체계
3/46
Introduction of MATLAB
)sin(xy
위의 적분의 프로그래밍에 대해
생각해 보자.
MATLAB에서 위와 같은 문제는
>> y=int('sin(x)');
>> ezplot(y);
MATLAB은 강력한 수학적인
능력을 제공
Why use MATLAB
4/46
MATLAB 실행화면
Current Directory - 작업 디렉토리 표시 및 변경
Workspace - 사용하고 있는 변수 리스트
Command History - 사용하였던 MATLAB
명령 리스트
Command Window - 명령 입력 프롬프트 - 명령 처리 결과 표시
5/46
MATLAB 실행화면
▶ File
New
- 새로운 MATLAB 파일
- M-file, Figure, Model, GUI
※ M-file 선택 : M-file파일 편집을 위한 텍스트 편집 윈도우 생성
Open
- 저장된 MATLAB 파일 loading
Close Current Directory
- MATLAB 프로그램 상에 실행된 여러 윈도우를 닫음.
- 한번 선택 할 때마다 다른 윈도우를 닫는 명령으로 변경
- 닫혀진 윈도우는 Desktop 메뉴에서 다시 생성
New Open Cut Copy Paste Undo Redo Simulink
MATLAB Menu
6/46
MATLAB 실행화면
▶ File
Import Data
- MATALB 파일외의 여러 가지 파일(소리, 영상 문자)을 loading
Save Workspace As
Set Path
- Work directory의 Path를 설정
Close Current Directory
- MATLAB 프로그램 상에 실행된 여러 윈도우를 닫음.
- 한번 선택 할 때마다 다른 윈도우를 닫는 명령으로 변경
Preferences
Page setup
최근 작업 파일
Exit MATLAB
MATLAB Menu
7/46
MATLAB 실행화면
▶ Edit
Undo
Redo
Cut
Copy
Paste
Paste Special
- 클립 보드에 있는 데이터를 분리하여 붙여 넣기
Select All
Delete
Find
Clear
MATLAB Menu
8/46
MATLAB 실행화면
▶ View
Desktop Layout : MATLAB 윈도우 설정(배열)을 선택
- Default
- Command Window Only
- Simple
- Short History
- Tall History
- Five Panel
Undock Command Window
- Command 윈도우를 독립된 윈도우로 생성
그 외 MATLB에서 사용 가능한 윈도우를 활성화 또는 비활성화
▶ Web
Mathworks사 웹 사이트, 업데이트 사이트 등 MATLAB과 관련된 웹 사이트 링크
▶ Window
Close all
MATLAB Menu
9/46
MATLAB 사용을 위한 환경설정
▶ 기본적으로 사용하는 파일
m파일 (예 : pwm.m)
- Script 형태의 MATLAB코드
- Command Window에 입력할 명령 및 함수들을 순차적으로 작성
- Command Window에 m-file 이름을 입력하면 작성된 명령 수행
mat파일(사용된 변수들의 저장)
▶ 사용하는 창 (window) : 작업공간
command window
- 명령입력 및 결과 확인
text window
- 명령입력 및 결과 확인
File & Directory
10/46
MATLAB 사용을 위한 환경설정
▶ 작업 디렉토리의 지정
File - Set Path 를 이용하여 path 저장
- Path를 저장하면 디렉토리 변경할 필요 없음
- Path를저장하지않고작업디렉토리변경은툴바의Current Directory에서 변경
검색 경로의 지정을 고려
- 검색경로 : 실행에 필요한 m파일의 존재를 점검
Set Directory
11/46
MATLAB Command
▶ clc
Clear Command Window
Command 윈도우에 표시된 내용을 모두 지움
>> clc (enter)
▶ clear
Clear variables and functions from memory
변수와 함수를 메모리로부터 삭제
사용법
>> clear <변수명> (enter) : 해당 변수를 지움
>> clear all (enter) : 모든 변수와 함수를 지움
※ default = clear all
>> clear (enter)
Basic Command (I)
12/46
MATLAB Command
▶ format
MATLAB에서 보여지는 모든 변수의 형태를 결정
Short 형 : 소수점 이하 5자리까지만 표시
Long 형 : 소수점 이하 15자리까지만 표시
사용법
▶ ans : 가장 최근에 계산된 변수표시
Basic Command (II)
13/46
MATLAB Command
▶ Help
명령과 함수에 대한 도움말
사용법
>> help <명령 또는 함수> (enter)
Basic Command (III)
14/46
MATLAB Command
▶ Command 입력 다음의 “;” (세미콜론)
명령수행 결과를 숨김
요소가 많은 계산시에는 “;”를 사용
- 단, 계산과정의 확인이 필요한 경우에는 “;”없이 사용
Basic Command (IV)
15/46
Arithmetic Operation of MATLAB
▶ “:” (콜론) 연산자
등간 증감 연산자
일정 구간 내 동일한 간격으로 증가 혹은 감소
사용법 (default 간격 = 1)
>> <시작 값> : <간격> : <종료 값> (enter)
Basic Arithmetic (I)
16/46
Arithmetic Operation of MATLAB
▶ Matrix
MATLAB 데이터 처리의 기본형태 ([ ]로 입력)
행렬에서 행 구분은 “(enter)” 또는 “;”, 열 구분은 “ ” 또는 “,”
사용법
Basic Arithmetic (II)
17/46
Arithmetic Operation of MATLAB
▶ Matrix의 활용 및 변경
Basic Arithmetic (III)
18/46
▶ Complex Matrix
MATLAB에서 복소수 표현은 “i”로 표현
예제 : 아래 행렬 C를 MATLAB에 표현
Arithmetic Operation of MATLAB
1 2 2 3
4 3 2
i iC
i i
Basic Arithmetic (IV)
19/46
▶ Arithmetic Operation
“+”, “-”, “*”, “/”, “\”, “.” ...
C언어와 유사한 형태
행렬 산술 연산자를 포함 (단, 행렬간 연산 시 행렬의 차원이 같아야 함)
Arithmetic Operation of MATLAB
Arithmetic Operation (I)
20/46
▶ Arithmetic Operation
행렬의 나눗셈 연산자 : “/”, “\”
>> A/B (=AB1)
>> A\B (=A1B)
Arithmetic Operation of MATLAB
Arithmetic Operation (II)
21/46
▶ Arithmetic Operation
Dot Product “.”
행렬 요소간 곱셈, 나눗셈 : “.*”, “./”
행렬의 차원이 같아야 연산 가능
Arithmetic Operation of MATLAB
,
.*
/ /. /
/ /
a b e fA B
c d g h
ae bfA B
cg dh
a e b fA B
c g d h
Arithmetic Operation (III)
22/46
▶ 기타 수학 함수
Arithmetic Operation of MATLAB
수학 함수
abs(x) x의 절대값을 계산
sqrt(x) x의 근호값을 계산
round(x) x를 가까운 정수로 반올림
sign(x) x가 0보다 작으면 -1, 0이면 0. 0보다 크면 1
rem(x,y) x/y의 나머지를 계산
exp(x) e^x를 계산
삼각함수 (radian 단위)
sin(x) sin(x) 계산
cos(x) cos(x) 계산
tan(x) tan(x) 계산
asin(x) sin-1(x) 계산
acos(x) cos-1 (x) 계산
atan(x) tan-1 (x) 계산
atan2(x,y) tan-1 (y/x) 계산
Arithmetic Operation (IV)
23/46
▶ 기타 수학 함수 (continue)
Arithmetic Operation of MATLAB
Arithmetic Operation (V)
24/46
▶ 삼각함수 (radian)
Arithmetic Operation of MATLAB
Arithmetic Operation (VI)
25/46
▶ Graphic
2차원 그래픽에 관련된 함수들
- title(‘제목’)
- xlabel(‘제목’), ylabel(‘제목’)
- text(x좌표, y좌표, ‘내용’)
- plot( x축, y축, ‘선의 색, 선의 모양’ ) : 꺾은선 그래프
- grid
- hold.
Graphical Function
Graphical Function (I)
26/46
▶ plot ( x축, y축, ‘선의 색, 선의 모양’ )
x축 data와 y축 data의 크기가 일치해야 함
Graphical Function
가능한 선의 Color
Matlab Symbol
Color Matlab Symbol
Color
c 하늘 g 초록
m 자주 b 파랑
y 노랑 w 흰색
r 빨강 k 검은색
가능한 선의 Style
Matlab Symbol
Style Matlab Symbol
Style
- Solid line
: Dotted
line
-- Dashed
line -.
Dash-dot line
none No Line
가능한 선의 marker
Matlab Symbol
Marker Style
Matlab Symbol
Marker Style
+ + ^ △
o o v ▽
* * > ▷
. ● < ◁
x × pentagra
m ☆
Square □ hexagram ¤
Diamond ◇ none No marker (default)
Graphical Function (II)
27/46
MATLAB Plot 설정
2. 편집하고자 하는 그래프 더블 클릭 1. Tools → Plot editor
3. 우측 하단에서 그래프 모양, 색, 종류 변경 가능
Plot tools (I)
28/46
MATLAB Plot 설정
1. Plot editor 선택 후 그래프 전체 더블 클릭
3. 변경 하고자 하는 축 선택 후 레이블, 범위, 스케일 설정
4. 글꼴 선택 후에 글자체 및 크 기 설정
Plot tools (II)
2. 좌측 하단 메뉴를 통해서, 그래프 제목, 배경색, 그리드 설정
29/46
▶ subplot ( 행수, 열수, 번호 )
다중 그래프의 표현
Graphical Function
1 2
3 4
5 6
Graphical Function (III)
30/46
▶ Example #1
-pi < x < pi 일 때(단 x의 스텝은 0.05)
subplot(211)의 X축에 x, Y축에 a=cos(x)를 plot 하시오
subplot(212)에 X축에 x, Y축에 b=sin(x)를 plot 하시오
▶ Example #2
실습 1의 각 그래프에 축의 이름을 붙이시오
실습 1의 각 그래프에 제목을 붙이시오
실습 1의 각 그래프에 격자를 넣으시오
▶ Example #3
실습 1의 cos(x), sin(x) 그래프를 하나의 그래프에 그리시오
Graphical Function
Graphical Function (IV)
31/46
Graphical Function
Graphical Function (V)
32/46
▶ 기타 Graphic Function
Graphical Function
함 수 설 명
plot x와 y축에 대해서 모두 선형 배율로 된 그래프
loglog x와 y축에 대해서 모두 log배율로 된 그래프
semilogx x축에 대해서는 log배율, y축에 대해서는 선형 배율로 된 그래프
semilogy x축에 대해서는 선형 배율, y축에 대해서는 log배율로 된 그래프
Graphical Function (VI)
33/46
▶ 기타 Graphic Function
Graphical Function
Graphical Function (VII)
34/46
What is Simulink?
▶ Simulink는 MATLAB환경에서 특별히 제작된 그래픽 인터페이스
▶ 동적 시스템을 시뮬레이션 하는 도구
그래픽 인터페이스 (Graphic Interface)
기본적으로 제공하는 100개 이상의 블록들(라이브러리)의 조합으로 시스템의 특성을 표현
아이콘 화 되어 있는 기능 블록을 이용하여 시각적으로 알기 쉽게 모델링
동적 시스템 (Dynamics System)
시간에 따라 응답이 선형이나 비선형으로 변하는 하나의 프로세스
미분 방정식 혹은 차분 방정식으로 표현, 블록선도로도 나타낼 수 있음
Simulink의 특징
35/46
What is Simulink?
▶ 전력전자 시뮬레이션 프로그램
Circuit Configuration
- PSIM, PSPICE, SABER..
Control Strategy
- MATLAB(Simulink)
토폴로지 설계에 강점
컨버터/인버터 설계
스너버 회로 설계
공진 네트워크 설계
…
모든 동적 시스템 모델링 가능
일단 토폴로지가 고정되면
제어기 설계 및 평가에 강점
제어 안정도 판정에 강점
…
Simulink의 특징
36/46
What is Simulink?
Understanding basic usage of SIMULINK
▶ 본 강의 이전에 SIMULINK의 전반적인 이해를 돕기 위함
▶ 예제 회로를 직접 모델링 실습
기초 회로 5개를 모델링 함으로서 기본적인 Simulink 사용방법 이해
반파 정류 회로 모델링을 통하여 응용능력 향상
Example
37/46
Simulink의 시작
①
②
Simulink의 활성화
①의 아이콘을 클릭
②의 명령어를 Command Window에 입력
38/46
Simulink의 시작
Library Browser
목록이나 아이콘의 형태로
제공하는 기본 기능을 보여줌
Basic ICON
Find Library
39/46
Simulink의 시작
Simulation Time Setting
시뮬레이션의 연산 조건 설정
①
② ③
④
40/46
Simulink의 기초
① 저항회로 ② 저항병렬회로 ③ 저항직렬회로
④ 인덕터 회로 ⑤ RL 회로
5개의 간단한 예제 회로를 Simulink로 모델링
Simulink의 특징
Process
1. 시스템의 분석
2. 수학적 모델링
3. 블록화
4. 가상실험
⑥ 단상 반파 다이오드 정류 회로
41/46
Simulink의 기초
① 저항회로: Basic Block의 이해
<입력> <출력 전류 파형>
42/46
Simulink의 기초
>>Plot(t,I)
>>Plot(t,Isum)
② 저항병렬회로: To Workspace의 이해
43/46
Simulink의 기초
③ 저항직렬회로: Subsystem의 이해
44/46
Simulink의 기초
④ 인덕터 회로: Continues Library의 이해
45/46
Simulink의 기초
시정수 = 0.1[ms]
1. 시스템의 분석 2. 수학적 모델링 3. 블록화 4. 가상실험
⑤ RL 회로 : Modeling 절차의 이해
46/46
Simulink의 기초
1. 시스템의 분석 2. 수학적 모델링 3. 블록화 4. 가상실험
⑥ 단상 반파 다이오드 정류 회로
60220*sqrt(2)
10