Presentation is loading. Please wait.

Presentation is loading. Please wait.

MATLAB 기초강의 연세대학교 방사선학과 방사선영상 실험 실습. MATLAB 이란 ?  Matlab 이란 MATrix LABoratory 를 뜻하는 말로서, 수 치해석, 행렬연산, 신호처리 및 간편한 그래픽 기능 등을 통합하여 고성능의 수치계산 및 결과의 가시화 기능을.

Similar presentations


Presentation on theme: "MATLAB 기초강의 연세대학교 방사선학과 방사선영상 실험 실습. MATLAB 이란 ?  Matlab 이란 MATrix LABoratory 를 뜻하는 말로서, 수 치해석, 행렬연산, 신호처리 및 간편한 그래픽 기능 등을 통합하여 고성능의 수치계산 및 결과의 가시화 기능을."— Presentation transcript:

1 MATLAB 기초강의 연세대학교 방사선학과 방사선영상 실험 실습

2 MATLAB 이란 ?  Matlab 이란 MATrix LABoratory 를 뜻하는 말로서, 수 치해석, 행렬연산, 신호처리 및 간편한 그래픽 기능 등을 통합하여 고성능의 수치계산 및 결과의 가시화 기능을 제공하는 프로그램이다.  Matlab 은 이용하고자 하는 분들의 전공에 도움을 주 고자 toolbox 를 가지고 있다. toolbox 란 신호 처리, 통 계학, 영상 처리, 제어, fuzzy logic, 재정, 화학 공정, 등등, 즉, toolbox 란, 해당 전공 부분의 내용을 심도 있게 지원하는 함수들의 도서관과 같은 것이다.

3  Matlab 코딩 체계는 우리에게 친숙한 수학적 인 기호와 간단한 C 문법으로 행하여 지는데, 전형적인 이용 범위는 다음과 같다.  수학과 관련된 계산  알고리즘 개발  상황 모델링과 data 분석  Matlab 여러 가지 과학과 공학적인 그래픽적 표현  GUI(Graphical User Interface) 에 의한 에플리케 이션 개발

4 MATLAB 의 특징  행렬 데이터가 기본 연산  M file 을 사용한 프로그래밍  Toolbox  심볼로 이루어진 수식을 계산하는 기호 계산  GUI 프로그래밍  SIMULINK

5 왜 Matlab 을 배워야 하는가 ?  위의 적분의 프로그래밍에 대해 생각해 보자. Matlab 에서 위와 같은 문제는 >> y=int('sin(x)'); >> ezplot(y); Matlab 은 강력한 수학적인 능력을 갖고 있고, 또한, 쉽게 주어진 상 황을 코딩화할 수 있다.

6 MATLAB 시작하기 Workspace Command Windows Matlab 의 메인 창 역할을 하면서 사용자로부터 입력을 받아 연산을 수행한 후 다시 사용자가 알아볼 수 있는 형태로 출력하는 역할, 만약 프로그램의 오류 등으로 인한 에러 메시지도 Command Windows 에 나타나게 된다. 현재 실행되어 있는 MATLAB 내의 변수들의 목록

7 MATLAB 의 Help 사용하기 1  Help 사용법 >> Help topic_name

8 MATLAB 의 Help 사용하기 2

9 MATLAB 을 이용한 행렬계산 1  variable = expression * variable : 변수, 기본적으로 타 language 에서의 지원 변수 와 거의 유사한 형태를 지원  EX. >> a = [1,2,3;4,5,6;7,8,9] a = 1 2 3 4 5 6 7 8 9 >>  주석문 처리는 문장앞에 “%”.  행렬에서 행 구분은 “;”, 열 구분은 “ ” 또는 “,”.  수식 표현 뒤에 “;” 를 붙이면 결 과값이 Command Windows 에 출력되지 않는다.  입력한 행렬은 Workspace 에 서 확인 가능.  콜론 (:) 을 사용해서 증가나 감 소하는 벡터를 쉽게 만들수 있 다.

10 MATLAB 을 이용한 행렬계산 2 >> a(1,3) ans = 3 >> a(1,3)=4 a = 1 2 4 4 5 6 7 8 9 >> a(1:2,3) ans = 4 6 >> a(1,1:3) ans = 1 2 4 >> a(1,:) ans = 1 2 4 >> a(:,:) ans = 1 2 4 4 5 6 7 8 9 >> i = 0:0.1:0.5 i = 0 0.1000 0.2000 0.3000 0.4000 0.5000

11 MATLAB 을 이용한 행렬계산 3  행렬의 사칙연산 더하기 + 행렬간의 차원이 같아야 한다. 빼기 - 행렬간의 차원이 같아야 한다. 행렬간 곱하기 * 행렬간의 내부 차원이 같아야 한다. 행렬간 나누기 / (AB¹) 행렬의 행렬식이 존재해야 한다. 행렬간의 내부 차원이 같아야 한다. \(A¹B) 행렬요소간 곱하기.* 행렬간의 차원이 같아야 한다. 행렬요소간 나누기./ 행렬간의 차원이 같아야 한다.

12 MATLAB 을 이용한 행렬계산 4 >> A = [ 1 2 ; 3 4 ] A = 1 2 3 4 >> B = [ 3 4 ; 5 6 ] B = 3 4 5 6 >> A+B ans = 4 6 8 10 >> A-B ans = -2 -2 >> A*B ans = 13 16 29 36 >> A.*B ans = 3 8 15 24 >> A/B ans = 2 -1 1 0 >> A\B ans = -1.0000 -2.0000 2.0000 3.0000 >> inv(A)*B ans = -1.0000 -2.0000 2.0000 3.0000 >> B/A ans = 0 1 -1 2

13 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 를 계산 삼각함수 sin(x) sin(x) 계산 cos(x) cos(x) 계산 tan(x) tan(x) 계산 asin(x) 1/sin(x) 계산 acos(x) 1/cos(x) 계산 atan(x) 1/tan(x) 계산 atan2(x,y) 1/tan(y/x) 계산

14 PLOT 사용하기  plot(xdata, ydata, 'color_linestyle_marker')  xdata 와 ydata 의 크기가 일치해야 한다.  하나의 창 안에 여러 그래프를 동시에 그리려면..  plot(x1, y1,’ 속성 1’, x2, y2,’ 속성 2’, x3, y3,’ 속성 3’,...) >> i = -pi:0.1:pi; >> x = cos(i); >> y = sin(i); >> plot(x,y); >> grid on;

15 PLOT 사용하기

16 Figure 창 열기  figure  새로운 그림 창을 생성  이미 존재하는 그림창을 활성화 한다.  figure% 새로운 그림 창 생성  figure(10)% 10 번 그림 창 생성 혹은 활성화

17 Multi graphic 객체 사용하기  subplot(MNI) or subplot(M,N,I)  M( 행의 갯수 ), N( 열의 갯수 ), I( 하부영역의 순서 ) >> subplot(221) >> subplot(222) >> subplot(212) subplot(221)subplot(222) subplot(212)

18 PLOT 사용하기  plot(xdata, ydata, 'color_linestyle_marker')  xdata 와 ydata 의 크기가 일치해야 한다.  그래프의 속성은 무시해도 된다.  하나의 창 안에 여러 그래프를 동시에 그리려면..  plot(x1, y1,’ 속성 1’, x2, y2,’ 속성 2’, x3, y3,’ 속성 3’,...)

19 그래프의 속성 가능한 선의 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 noneNo Line 가능한 선의 marker Matlab Symbol Marker Style Matlab Symbol Marker Style ++^ △ oov ▽ **> ▷. ● < ◁ x×pentagram ☆ Square □ hexagram¤ Diamond ◇ none No marker (default)

20 실 습 1.  -pi < x < pi 일 때 ( 단 x 의 스텝은 0.05),  figure(1) 의 subplot(211) 에 X 축에 x, Y 축에 a=cos(x) 를 plot 하라.  figure(1) 의 subplot(212) 에 X 축에 x, Y 축에 b=sin(x) 를 plot 하라.  figure(2) 의 X 축에 a, Y 축에 b 를 plot 하라

21 실 습 1.

22 % 실습 1. x= -pi:0.05:pi; a=cos(x); b=sin(x); figure(1); subplot(211); plot(x,a); subplot(212); plot(x,b); figure(2) plot(a,b);

23 제목, 각 축의 이름, 격자 넣기  title(‘ 그래프의 제목 ’)  그래프의 제목을 나타낼 때 사용한다.  xlabel(‘X 축 이름 ’)  x 축의 이름을 넣을 때 사용한다.  ylabel(‘Y 축 이름 ’)  y 축의 이름을 넣을 때 사용한다.  zlabel(‘Z 축 이름 ’)  z 축의 이름을 넣을 때 사용한다.  grid  그래프 객체에 격자를 더하거나 없앤다.

24 범례, 축의 한계값 사용하기  legend(‘ 문자열 1’,‘ 문자열 2’,..., 정수 )  문자열 1: 첫번째 그래프에 대한 범례  문자열 2: 두번째 그래프에 대한 범례  axis([x1,x2,y1,y2])  x1 : x 축의 최소값, x2 : x 축의 최대값  y1 : y 축의 최소값, y2 : y 축의 최대값  xlim([x1,x2]) : x 축 제한  ylim([y1,y2]) : y 축 제한

25 실습 2.  실습 1 의 각 그래프에 축의 이름을 붙인다.  실습 1 의 각 그래프에 제목을 붙인다.  실습 1 의 각 그래프에 격자를 넣는다.  실습 1 의 cos(x), sin(x) 그래프를 하나의 그래 프 (figure(3)) 에 그리고, 범례를 넣는다.

26

27 % 실습 2. figure(1) subplot(211) xlabel('x'); ylabel('a'); title('a=cos(x)'); grid on; subplot(212) xlabel('x'); ylabel('b'); title('b=sin(x)'); grid on; figure(2) xlabel('x'); ylabel('y'); axis([-2,2,-2,2]); title('Graph of Circle'); grid on; figure(3) plot(x,a,x,b); legend('cos(x)','sin(x)'); xlabel('x'); ylabel('y'); grid on;

28 기본적인 그래픽 함수들 함 수설 명 plot x 와 y 축에 대해서 모두 선형 배율로 된 그래프 loglog x 와 y 축에 대해서 모두 log 배율로 된 그래프 semilogx x 축에 대해서는 log 배율, y 축에 대해서는 선형 배율로 된 그래프 semilogy x 축에 대해서는 선형 배율, y 축에 대해서는 log 배율로 된 그래프 plotyy 두 개의 y 축 선형 배율을 가진다.

29 그래픽 함수 비교 1

30 그래픽 함수 비교 2

31 SIMULINK

32 SIMULINK 란..  Simulink  dynamic system 을 컴퓨터를 사용하여 모델링하 고 시뮬레이션하여 시스템을 해석하기 위한 패키 지  블록 다이어그램으로 된 GUI 환경을 제공하므로 사용자는 단지 마우스만을 사용하여 블록을 클릭 하고 드래그하여 모델을 만들기만 하면 된다.  선형, 비선형 시스템 모두를 해석 가능.

33 Simulink 시작하기

34 라이브러리 불러오기 클릭해서 끌어다 놓는다 더블클릭 변경

35 자주 사용되는 라이브러리

36

37

38 Simulink 실행하기 Simulation → Simulation Parameters... ▶ ( 실행 )

39 실 습 3실 습 3  자동제어 교재 연습문제 6-14  Ka=50, Kl=50, Kb=0.0706, Ki=10, Ko=50  Ra=10, J=0.006, n=0.01  A = 100, N=1.5

40


Download ppt "MATLAB 기초강의 연세대학교 방사선학과 방사선영상 실험 실습. MATLAB 이란 ?  Matlab 이란 MATrix LABoratory 를 뜻하는 말로서, 수 치해석, 행렬연산, 신호처리 및 간편한 그래픽 기능 등을 통합하여 고성능의 수치계산 및 결과의 가시화 기능을."

Similar presentations


Ads by Google