부록 A Matlab 활용.

Slides:



Advertisements
Similar presentations
MATLAB 의 사용.  초기 MATLAB 은 Cleve Moler 에 의해 Fortran 으 로 작성  현재는 미국의 MathWork 사에 의해 C++ 로 작성  Matlab 은 Matrix 계산에 뛰어난 능력을 가지고 있 으며 많은 이론의 실증 프로그램을 작성하는데.
Advertisements

2013 년 목 차 용어의 정의 위기경보 수준 국가 생물테러 대응 체계도 반 · 팀별 소방의 임무.
MATLAB 기초강의 연세대학교 방사선학과 방사선영상 실험 실습. MATLAB 이란 ?  Matlab 이란 MATrix LABoratory 를 뜻하는 말로서, 수 치해석, 행렬연산, 신호처리 및 간편한 그래픽 기능 등을 통합하여 고성능의 수치계산 및 결과의 가시화 기능을.
YES C 제 1 장 C 언어의 개요 1/34 제 1 장 C 언어의 개요 문봉근. YES C 제 1 장 C 언어의 개요 2/34 제 1 장 C 언어의 개요 1.1 프로그램과 C 언어의 특징 1.2 C 언어의 프로그램 구성 1.3 비주얼 C++ 통합 환경 들어가기.
EMLAB Modeling of Digital Communication Systems using Simulink Chap2. Sinusoidal Simulink Model Chap3. Digital Communications BER Performance in AWGN (BPSK.
MATLAB 개요와 응용 5장 2차원 그래프.
2. 문학의 활동 방법 [1] 문학의 수용 01 소설가 구보 씨의 일일 작가 소개 작품 정리 읽기 중 활동 학습 활동.
목 차 1.색이론 1) 색의 개념 2) 색의 3요소 3) 빛의 삼원색 4) 색의 합성 2. 필터 1) 컬러필터의 변천사
Six Thinking Hats
VISUAL BASIC 양 계 탁.
응용 전산 및 실습 MATLAB – Chapter 4 그래픽
C++ Espresso 제1장 기초 사항.
SOLID MODELING – 1주차 강의.
Programming을 이용한 ECG증폭기 설계
시스템 생명 주기(System Life Cycle)(1/2)
신경망 2.
최소 자승 오차법 (Least Squares Method)
시스템 생명 주기(System Life Cycle)(1/2)
2. PHP 프로그래밍 웹 브라우저로 데이터 전송 주석 작성하기 변수/상수 문자열/숫자형 HTML 폼 만들기
JavaScript.
Ch.3 그래프 속성의 설정과 2차원 그래프.
Pspice를 이용한 회로설계 기초이론 및 실습 5
MATLAB을 이용한 DS-CDMA 신호의 표현
부록 A. Matlab 사용법 Korea University of Technology and Education
신경망(3).
IS lab. 김건영 Awk, Posting list IS lab. 김건영
시간대별 점등제어 계획 철새 비도래시기 춘계[3~5월] / 하계[6~8월] / 추계[9~10월]
Communication and Information Systems Lab. 최정훈
GoldExperience 통신공학설계실험 Kim Hyun Tai
GoldExperience 통신공학설계실험 Kim Hyun Tai
Microwave & Millimeter-wave Lab.
Medical Instrumentation
글꼴관련 태그 오산대학 컴퓨터정보과 김 영 권.
MATLAB 기초 1.1 기본적인 MATLAB 명령어 1.2 행렬과 벡터 연산 1.3 제어문 1.4 입출력
MATLAB
Color, Form, Depth, and Movement
기초 프로그래밍 Yang-Sae Moon Department of Computer Science
강의 소개, 자료구조의 개념, SW 개발과 자료구조
4. 도표 다루기.
인터페이스 살펴보기(1/2) 기본 작업환경의 명칭 Adobe Photoshop CS3 메뉴바 도구막대 WorkSpace
과학 탐구 토론 대회 1학년 2반 박승원 1학년 5반 권민성.
MATLAB(6.5)의 기본 사용법 오 승 택.
Electronic Engineering 2
Matlab 기초 한밭대학교 전기공학과 담당교수 : 이 경 복.
Medical Instrumentation I - Report 03 -
Chapter 4 컬러( COLOR ).
HDTV 영상제작의 변화 발표조:10조.
4장 - PHP의 표현식과 흐름 제어-.
디지털 신호처리
6장 콘 셸 뇌를 자극하는 Solaris Bible.
z 변환 - z 변환의 정의 - 유한 길이 신호의 z 변환 해석 : 극점과 영점과 수렴영역
자바 5.0 프로그래밍.
【 6월 1일 】 (‘오늘의 용기 내일의 희망’ 중에서...)
Fflush 사용이유 및 방법 [이유] 키보드에서 입력된 내용은 입력버퍼에 저장되었다가 Enter 키가 들어오면 프로그램으로 전달됨 이 때 입력버퍼에 있는 Enter 키도 프로그램으로 전달됨 그러므로 아래와 같은 프로그램에서 문자 하나를 입력해도 Enter키도 입력된 것으로.
>> Ⅲ. Web Design Tool 및 특성
작성일 참고서적 – Programing Game AI by Example
광전효과를 이용한 플랑크 상수 측정 1조 권희선 조혜원 허진.
MATLAB 기초 by 이대익 1.
빛 의 합 성 과 학 1 학년 Ⅱ. 빛 > 2. 빛의 색( 8/8 ) [초기 화면]
Introduction to MATLAB
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 08. 조건에 따른 흐름의 분기.
기본 테이블세팅(로맨틱) 푸드스타일리스트 전공 김선아.
혼색 color mixture.
Chapter 08 조건문.
2.1 MATLAB 환경 2.2 배정 2.3 수학적 연산 2.4 내장함수의 사용 2.5 그래픽 2.6 다른 자원
[색채지각 ] Color Perception.
유예 X-FILE *조사자* 1301권희원 1315이예지 1317장아정 1322홍자현.
SMARTsuite7 TO 년 2월.
PHP 기초문법 PHP를 공부하는데 있어 가장 기초가 되는 PHP기초문법에 대해서 배워 봅니다.
첨부 1. 불꽃 위치도 ※ 불꽃 발사 장소 : 수원월드컵경기장 남측 P4 주차장 뒤편 공원 (붉은색 원표시 부분)
Presentation transcript:

부록 A Matlab 활용

학습목표 이번 강의에서 다루게 되는 내용은 다음과 같습니다. 이번 장의 학습 목표 1) Matlab 툴에 대해 이해한다. 4) Matlab에서 M파일 프로그래밍에 대해 이해한다. 5) Matlab의 흐름 제어문에 대해 이해한다. 6) Matlab을 이용하여 DSP 실습을 통하여 이해를 높인다. 2장의 내용으로 신호 및 시스템에 대해 2회차, 3회차, 4회차 총 3회차에 걸쳐 설명하도록 하겠습니다. 먼저 2회차의 내용으로 신호 및 시스템의 개념에 대해 설명하고 두번째로 디지털 신호에 대해서 알아보며, 끝으로 기본적인 디지털 신호에 대해 알아보도록 하겠습니다.

Matlab의 개요 Matlab 이란? Matlab의 구성 MATrix LABoratory 의 약자, 수치해석, 행렬연산, 신호처리 및 간편한 그래픽 기능 등을 통합하여 고성능의 수치 계산 및 결과의 가시화 기능을 제공하는 프로그램. 행렬과 벡터를 기본 자료로 사용하여 기능을 수행하는 계산환경을 제공 기본적으로 행렬을 사용하므로 차원이 필요치 않으며 프로그래밍 언어를 사용하지 않고도 쉽게 수치 계산을 수행 M-file을 사용함으로서 특정한 해를 구하는데 필요한 응용 프로그램을 손쉽게 작성할 수 있음. Matlab의 구성 명령을 내리는 명령창 M-file을 작성하는 편집기 명령 수행 결과의 일부인 그림창 여러 가지 모듈을 이용하여 시뮬레이션을 수행하는 SIMULINK로 구성

Matlab의 실행 Toolbox를

Matlab의 실행 ①은 Toolbox를 보여주는 Lanch Pad와 밑의 Workspace 탭을 선택하면 사용된 변수들의 내용을 볼 수 있다. ②는 현재 디렉토리를 보여주고 있으며 또한 밑의 Command History 탭을 선택하면 지금까지 입력한 명령들의 히스토리를 볼 수 있다. ③은 명령 창으로 명령을 입력하거나 프로그램을 실행하는데 사용되는 창이다.

Matlab 사용법 – 행렬의 사용법 MATLAB에서 사용되는 행렬 입력방식 행렬 입력의 규칙 MATLAB 명령창 내부명령 또는 함수들을 사용하여 행렬을 생성 M-파일 내에서 행렬을 구성 외부의 자료 파일로부터 행렬을 불러들임 MATLAB은 다른 프로그래밍 언어들과 달리 차원의 선언이나 형 선언이 필요 없음(컴퓨터가 사용 가능한 크기까지 자동적으로 저장 공간을 할당) 행렬 입력의 규칙 원소들은 빈칸 또는 쉼표를 사용하여 분리 전체 원소들은 대괄호( [ ] )로 감싼다. 원소의 끝에 세미콜론( ; )을 붙이면 한 행의 종료를 의미.

Matlab 사용법 – 행렬의 사용법 행렬의 원소들 행렬의 원소 중에 어느 한 원소만을 추가하거나 바꾸고 싶을 때는 색인을 지정하고 원하는 값을 입력하면 된다.

Matlab 사용법 – 행렬의 사용법 작은 행렬을 이용하여 큰 행렬에 추가할 수도 있고, 반대로 할 수 도 있다. 참고로 명령에 마지막에 세미콜론( ; )을 추가하면 명령은 실행되지만 화면에 보여주지는 않는다.

Matlab 사용법 – 행렬의 사용법 복소수와 복소 행렬 MATLAB에서는 어떤 숫자 뒤에 ' i ' 또는 ' j '를 붙임으로써 복소수를 표현한다. 만약에 i 또는 j가 변수로 사용되었을 때는 복소수로 표현이 불가능해지므로 주의해야 한다. 복소행렬을 입력할 때 주의할 사항은 '+' 또는 '-' 부호 전후에 공백을 두어서는 안된다는 점이다. 만약 복소행렬을 '5 + 5i'와 같이 입력한다면 이 값은 '5+5i'의 한 원소가 아니라 '5'와 '5i'의 두원소로 인식될 것이다. 그러나 행렬의 원소가 아닌 하나의 수식을 입력하는 경우라면 공백이 있어도 상관없다.

Matlab 사용법 – 행렬의 사용법 복소수와 복소 행렬 도움말 기능 MATLAB과 관련된 대부분의 내용에 대하여 내장 도움말이 제공되는데 아무때나 help 하고 함수명을 입력하면 MATLAB에 관한 도움말을 얻을 수 있고 특별한 항목을 지정하여 요청하면 그 항목에 대하여 정보를 얻을 수 있다. ex)

Matlab 사용법 – 행렬의 사칙연산 행렬의 덧셈 및 뺄셈 행렬의 덧셈 및 뺄셈에는 숫자의 덧셈 및 뺄셈과 마찬가지로 '+'와 '-'기호를 사용한다. 단 행렬 연산의 대상이 되는 두행렬의 차원이 같아야 한다. 행렬 또는 벡터의 덧셈과 뺄셈은 각 행렬의 같은 위치, 즉 행렬 상의 색인이 같은 원소끼리 이루어진다. 서로 차원이 다른 경우에 연산이 불가능했지만, 예외적으로 1×1 행렬인 스칼라의 경우에는 어떤 한 행렬이나 벡터와도 연산이 가능하다. 이 경우에는 행렬이나 벡터의 모든 원소들에 스칼라를 더하거나 빼면 된다.

Matlab 사용법 – 행렬의 사칙연산 행렬의 덧셈 및 뺄셈

Matlab 사용법 – 행렬의 사칙연산 행렬의 곱셈 행렬의 나눗셈 행렬의 곱셈은 '*'를 사용하여 표시하며, 연산의 대상이 되는 두 행렬 또는 벡터의 내부 차원(inner dimension)이 일치할 경우에만 정의 행렬의 나눗셈 행렬의 나눗셈은 스칼라와는 달리 일반적으로 좌측 나누기와 우측 나누기의 결과가 일치하지 않는다. 좌측 나누기 : X=A\B -----> A*X=B의 해 (X = inv(A)*B) 우측 나누기 : X=A/B -----> X*B=A의 해 (X = A*inv(B))

Matlab 사용법 – 행렬의 사칙연산

Matlab 사용법 – 배열 연산 배열연산 배열 연산(Array operation)이란 *, \, /, ^ 또는 ' 기호에 의하여 이루어지는 일반적인 선형 행렬 연산이 아닌 행렬의 원소와 원소 사이에 성립되는 산술 연산 덧셈과 뺄셈 일반적으로 행렬의 덧셈과 뺄셈이 행렬의 원소 대 원소의 연산으로 정의되기 때문에 배열 연산의 덧셈과 뺄셈과의 차이는 없다. 곱셈과 나눗셈  ' .* '는 배열 연산의 곱셈을 나타내며, 두 행렬의 차원이 같을 때 각 행렬의 같은 위치에 있는 원소들끼리 곱셈을 하여 새로운 행렬을 구성한다.

Matlab 사용법 – 배열 연산

Matlab 사용법 – 배열 연산 배열을 사용한 거듭제곱 ' .^ '은 원소간의 거듭제곱을 나타낸다

Matlab 사용법 – 기타 연산 관계 연산 MATLAB에서는 차원이 같은 두 행렬에 대하여 적용할 수 있는 6가지의 관계연산자가 있다. 위 연산자들은 두 행렬의 대응 원소들을 비교하여 그 결과를 0과 1로 구성된 행렬의 형태로 나타낸다. ( 0 : 거짓, 1 : 참 ) 연산자 의 미 < 미만(less than) <= 이하(less than and equal) > 초과(greater than) >= 이상(greater than and equal) == 같음(equal) ~= 같지 않음(not equal)

Matlab 사용법 – 기타 연산 연산자 의 미 & 그리고(and) | 또는(or) ~ 부정(not) 논리 연산 C = A &B : 행렬 A와 행렬 B의 대응 원소들이 둘다 0 이 아닐 경우에는 1을, 하나라 도 0이면 0을 돌려준다. C = A | B : 행렬 A와 행렬 B의 대응 원소들중 하나라도 0이 아닐경우에는 1을, 두 원소들 중에서 어느 하나라도 0이 아닐경우에는 1을 돌려준다. B = ~A : A의 원소가 0이 아닐 경우에는 0을, 0이 아닐 경우에는 1을 돌려준다. 연산자 의 미 & 그리고(and) | 또는(or) ~ 부정(not)

Matlab 사용법 – 그래프 기본적인 그래프 함수 plot : 선형 축을 사용하여 그래프 출력 stem : 이산적인 축을 사용하여 그래프 출력 loglog: 로그 축을 사용하여 그래프 출력 semilogx : x축은 로그 스케일을 사용, y축은 선형 스케일을 사용하여 그래프 출력 semilogy : y축은 로그 스케일을 사용, x축은 선형 스케일을 사용하여 그래프 출력 polar : 극좌표 축을 사용하여 그래프 출력 subplot : 하나의 그림창을 여러 개의 그래프 출력을 얻고자 할 경우 axis : x축과 y축의 크기를 조정할 경우 grid : 격자선을 그래프에 추가하여 출력 title : 그래프의 제목을 추가하여 출력 xlabel : x축에 축의 이름을 추가하여 출력   ylabel : y축에 축의 이름을 추가하여 출력 gtext : 마우스를 이용하여 지정한 위치에 문자를 출력 text  : 지정한 위치에 문자를 출력

Matlab 사용법 – 그래프 그래프 그리기 예제

Matlab 사용법 – 그래프 그래프 선 종류 / 색상 기호 선의 종류 색 상 . 점 y 노랑색(yellow) o 원 m 색  상 . 점 y 노랑색(yellow) o 원 m 자홍색(magenta) x c 하늘색(cyan) + 덧셈 r 빨간색(red) * 별표 g 녹색(green) - 실선 b 파랑색(blue) : 점선 w 흰색(white) -. 일점쇄선 k 검정색(black) -- 쇄선  

Matlab 사용법 – 기타 연산 그래프의 분할

M 파일 프로그래밍 M 파일 전체적인 의미로 M-file이란 Matlab언어로 쓰여진 파일들(files) 또한, M-file은 연속적인 Matlab문장들(명령어들)을 수행하는 script 양식(script mode)과 입력 매개변수와 출력 매개변수를 다루는 함수 양식(function mode)이 있다. 이와 같은 M-file은 Matlab이 제공하는 text editor를 이용하여 작성 할 수 있다.  text editor를 이용하여 M-file을 작성한다.  command window에서 M-file을 부르거나, 또는 다른 M-file내에서 호출 할 수 도 있다.

M 파일 프로그래밍 M 파일 종류 비교 script mode의 M-file function mode의 M-file 파일 이름은 어떠한 이름으로도 할 수 있다. 파일의 이름은 function이름과 가능 한한 같게 한다. base workspace에 있는 data에 대해서 연산한다. function workspace에 있는 data에 대해서 연산한다.

함수 모드 M 파일 작성 Matlab의 메뉴에서 [File]-[New]-[M-file]을 선택하면 편집창이 뜬다

함수 모드 M 파일 작성 Matlab에서 function mode M-file을 작성하려면,  “function 출력 변수 = 함수 이름(입력 변수)”의 형태로 함수를 정의 “%”으로 시작하는 주석 : 정의 부분 바로 다음에 나오는 첫 번째 주석 문은 “help"명령 다음에 나오는 정보들은 함수 정의 부분과 첫 번째 비 주석문(즉, Matlab 명령어 또는 빈 공간(blank))사이에 있는 주석문 “y=prod(1:n) "은 함수의 본체 이제, M-file을 다 작성했으면, 함수이름인 “fact"로 파일 이름을 정한 뒤 저장한다. 물론, 확장자는 ”.m "이다. 이제 명령창(command window)에서 실행 해 보도록 하자.

스크립트 모드 M 파일 작성 스크립트 모드는 함수 모드와 동일하게 편집기를 열어 문서를 작성하는데 명령 창에서 하나씩 명령을 입력하는 것 대신에 여러 명령을 일괄적으로 작성하나 첫 줄부터 순차적으로 수행되게 하는 것이다. 예제로서 그래프 사용법에서 설명한 그래프 분할하는 예제를 M-file로 작성해 보자.

흐름 제어문 for 루프 : 하나 이상의 문장이 미리 정해진 횟수만큼 반복 수행 실행문 for 변수=시작값:증가분:최종값 end 실행문

흐름 제어문 while 루프 : 국부적인 조건(local condition)에 따라서 하나 이상의 문장들을 불확정적인 횟수만큼 반복하여 실행 여기서 국부적인 조건은 수식이 될 수도 있고 단순히 조건이 될 수도 있다. 이 조건이 참( 0이 아니면 )일 때 수행되고 거짓( 0 이면) 이 될 때까지 수행 while 국부적 조건 end 실행문

흐름 제어문 break 문 : 루프를 빠져나가기 위한 명령어이다. 사용법은 단순히 루프 안에서 빠져나가기 원하는 위치에 'break'라고 쓰면 됨 if 문 : 조건문이 참일 때 실행문을 행한다. 여기서 '참'이란 조건문이 '0'이 아닌 수이거나 임의의 조건을 만족할 때이다. if 조건문1  elseif 조건문2 elseif 조건문3 else end 실행문 1 실행문 2 실행문 3 실행문 4

흐름 제어문 switch 문 : 변수나 표현에 의해서 임의의 실행문이 선택적으로 수행 실행문 1 expression에 해당하는 경우가 있으면 그곳의 실행문을 실행하고, 경우 같은 것이 없을 때는 otherwise의 실행문을 실행한다. switch expression (scalar or string) case value1 case value2 .....  otherwise  end 실행문 1 실행문 2 실행문

흐름 제어문 switch 문 예제

Matlab을 이용한 DSP 활용 예제 단위 임펄스 신호와 단위 계단 신호 발생 프로그램

Matlab을 이용한 DSP 활용 예제 다항식 h와 x의 콘볼루션 계산 conv(A, B) : 행렬 A, B의 convolution 및 다항식의 곱 h = [1 3 2],  x = [3 1 2] y = conv( h, x ) ※ deconv( y, x ) 의 결과와 h를 비교 행렬에 대한 fft(고속 Fourier transform, 주파수해석) A1 = [1 1 1 1 0 0 0 0] 에서 , A2 = fft(A1) 및 A3 = fft(A1,100) 를 그림

Matlab을 이용한 DSP 활용 예제

Matlab을 이용한 DSP 활용 예제 기본적인 Filter 시스템의 입출력관계가 y(n)=h(n)*x(n) 이면, 전달함수는 H(z) 이다. 이러한 시스템 및 입력X에 대한 출력을 표현 Y = filter( b, a, X ). (단 입력은 X) 의 형식을 이용

Matlab을 이용한 DSP 활용 예제

Matlab을 이용한 DSP 활용 예제 잡음이 섞여 있는 심전도 신호를 이용한 분당 심박수 구하기 아래 제공된 소스에 “ecg.txt”로 저장되어 있다. ECG 신호를 Matlab에서 읽어들여 컨볼루션을 수행하여 노이즈를 제거하고 심박수를 계산 신호의 샘플링 주파수는 200Hz이며, 레코딩 시간은 10초이다. 따라서 총 데이터 개수는 2000개

Matlab을 이용한 DSP 활용 예제 잡음이 섞여 있는 심전도 신호를 이용한 분당 심박수 구하기 주어진 파형에서 가장 최대치를 갖는 값을 R파라고 하는데 컨볼루션 결과의 파형에서 이들 간격(R-R 주기)의 평균치를 구하면 분당 심박수를 구할 수 있다. h[n]={-0.037841,-0.043247, -0.031183, 0, 0.046774, 0.100910, 0.151365, 0.187098, 0.2, 0.187098, 0.151365, 0.100910, 0.046774, 0, -0.031183, -0.043247, -0.037841} 로 주어짐.

Matlab을 이용한 DSP 활용 예제 Matlab 프로그램 작성

Matlab을 이용한 DSP 활용 예제

Matlab을 이용한 DSP 활용 예제

Matlab을 이용한 DSP 활용 예제

평가하기 A=[1 2 3; 4 5 6], B=[6 5 4; 3 2 1]일 때 Matlab을 활용하여 다음을 구하시오. A+B (2) A-B (3) A*3 (4) A.*B (5) A*B’ (6) A’*B A=[1 1 0 1 ], B=[0 1 0 0]일 때 Matlab을 이용하여 다음을 구하시오. (1) A&B (2) A|B (3) ~A Matlab에서 다음과 같이 명령창에 입력했을 경우 결과를 보이시오. >> x=0:4; >> y=5:5:25; >> plot(x,y); >> title(‘Example’); >> xlabel(‘x’); >> ylabel(‘y’) >>grid

평가하기

평가하기 입력 신호와 임펄스 응답이 다음과 같이 주어질 때 Matlab을 이용하여 출력 신호를 구하시오.

평가하기 1. format rat xn=[3 1/2 -1/4 1 4]; hn=[1 1 1 1]; yn=conv(xn,hn); stem(yn);