1 / 40

MATLAB 기초강의

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

izzy
Download Presentation

MATLAB 기초강의

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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

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

  8. MATLAB의 Help 사용하기 2

  9. 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에서 확인 가능. 콜론(:)을 사용해서 증가나 감소하는 벡터를 쉽게 만들수 있다. MATLAB을 이용한 행렬계산 1

  10. >> 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 MATLAB을 이용한 행렬계산 2

  11. MATLAB을 이용한 행렬계산 3 • 행렬의 사칙연산

  12. >> 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 -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 MATLAB을 이용한 행렬계산 4

  13. MATLAB의 기본적인 수학 함수, 삼각함수

  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. subplot(221) subplot(222) subplot(212) Multi graphic 객체 사용하기 • subplot(MNI) or subplot(M,N,I) • M(행의 갯수), N(열의 갯수), I(하부영역의 순서) >> 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. 그래프의 속성

  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. % 실습 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;

  27. 기본적인 그래픽 함수들

  28. 그래픽 함수 비교 1

  29. 그래픽 함수 비교 2

  30. SIMULINK

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

  32. Simulink 시작하기

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

  34. 자주 사용되는 라이브러리

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

  36. 자주 사용되는 라이브러리

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

  38. 실 습 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

More Related