MATLAB

Similar documents
예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

PowerPoint Presentation

Microsoft PowerPoint - 기계공학실험1-1MATLAB_개요2D.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Visual Basic 반복문

Microsoft PowerPoint - ch07 - 포인터 pm0415

PowerPoint 프레젠테이션

OCW_C언어 기초

Microsoft PowerPoint - chap05-제어문.pptx

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

PowerPoint Presentation

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

PowerPoint Template

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

Microsoft PowerPoint - chap04-연산자.pptx

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

PowerPoint 프레젠테이션

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

슬라이드 1

KNK_C_05_Pointers_Arrays_structures_summary_v02

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

chap 5: Trees

윈도우즈프로그래밍(1)

쉽게

Microsoft PowerPoint 웹 연동 기술.pptx

컴파일러

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - C++ 5 .pptx

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Tcl의 문법

MAX+plus II Getting Started - 무작정따라하기

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

11장 포인터

설계란 무엇인가?

목차 v M-file v 제어 v 변수 함수 스크립트 v 데이터타입 v Plot v variable save/load v File Open/Close, 데이터를쓰고, 읽는 fprintf, fscanf v Graphics with MatLab v 본강의자료는 MATLAB

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - e pptx


C 언어 프로그래밊 과제 풀이

Python과 함께 배우는 신호 해석 제 5 강. 복소수 연산 및 Python을 이용한 복소수 연산 (제 2 장. 복소수 기초)

C# Programming Guide - Types

설계란 무엇인가?

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap-03.pptx

Java ...

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Microsoft PowerPoint - Lesson2.pptx

Microsoft PowerPoint - chap-05.pptx

17장 클래스와 메소드

DocsPin_Korean.pages

Microsoft PowerPoint - Chapter_02.pptx

Matlab Graphics

<C6F7C6AEB6F5B1B3C0E72E687770>

PowerPoint Presentation

4장.문장

실험 5

PHP & ASP

02장.배열과 클래스

K&R2 Reference Manual 번역본

Microsoft PowerPoint - 2주차-1차시 (강의자료) ch01 - C Programming 기초 (part 2)

% Rectangular Value 입력 t = -50 : 1 : 50; % 시간영역 for i = 1 : 101 if abs ( t ( i ) ) < 10 x ( i ) = 1; else x ( i ) = 0; % 화면을 2 열 1 행으로나눈후 % 2 열 1 행에 R

강의10

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

JVM 메모리구조

Chapter 4. LISTS

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

Microsoft PowerPoint - 제11장 포인터(강의)

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

USER GUIDE

Microsoft PowerPoint - chap06-1Array.ppt

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

Microsoft PowerPoint - Chapter_08.pptx

PowerPoint Presentation

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

Microsoft Word - PLC제어응용-2차시.doc

MATLAB for C/C++ Programmers

PowerPoint Template

Chap 6: Graphs

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

슬라이드 1

Microsoft PowerPoint - 05-chap03-ArrayAndPointer.ppt

Data structure: Assignment 1 Seung-Hoon Na October 1, Assignment 1 Binary search 주어진 정렬된 입력 파일이 있다고 가정하자. 단, 파일내의 숫자는 공백으로 구 분, file내에 숫자들은

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Chapter_06

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - [2009] 02.pptx

PowerPoint Presentation

Microsoft PowerPoint - chap-11.pptx

프로그램의실행화면 주석 (comment) 두수의합 : 300 /* 두개의숫자의합을계산하는프로그램 */ 주석은코드를설명하는글입니다. 주석 3 가지방법의주석 주석의예 /* 한줄로된주석 */ /* 저자 : 홍길동날짜 : 2013.

쉽게 풀어쓴 C 프로그래밍

기초 Matlab 교육 여성공학인재양성 (WE UP) WE UP MATLAB 1

PowerPoint Presentation

Microsoft PowerPoint - chap11-포인터의활용.pptx

<4D F736F F F696E74202D204D41544C4142B0ADC0C7B7CF28B9E8C6F7BFEB295F3031C0E55FBDC3C0DBC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Transcription:

목차 Matlab이란무엇인가? Matlab 특징 Matlab 시작 행렬 연산자 꼭알아야할명령어 M-file 프로그래밍 명령어의흐름제어

목차 (cont d) M-file Debugging subfunction 다차원배열 M-file작성시유용한함수들 Matlab Graphics 자주쓰는그래픽관련함수 Matlab을이용한신호처리예제 예제의해결포인트

Matlab 은무엇인가? 강력한수학적능력을보유한프로그램 Matrix Laboratory 의약자이며 Cleve Moler 에의해 Fortran 으로작성되었으나, 현재는미국의 Mathworks 사에의해 C++ 로, 버전 6 부터는 JAVA 를이용해작성되고있음

Matlab 은무엇인가?(cont d) 이용범위 수학과관련된계산 알고리듬개발 상황모델링과데이터분석 여러가지과학과공학적요소의그래픽적표현 GUI에의한애플리케이션개발

Matlab 특징 행렬데이터 M-File을이용한프로그래밍 Toolbox Symbol로이루어진수식계산 GUI 프로그래밍 Simulink

Matlab 시작

Matlab 시작 (cont d)

행렬선언 변수명 (variable) = 수식 (expression) 변수 : double, char, struct, cell, sparse 수식 : Matlab 이해석할수있는 numeric, nonnumeric 형의수식 행렬을만드는방법 명확한행렬요소작성 외부데이터를 load M-file로행렬을생성

행렬연산 행렬데이터입력 열구분 빈칸, 콤마 행구분 세미콜론, 엔터 A = 1 4 7 2 5 8 3 6 9

행렬연산 (cont d) 행렬의합 내장함수 : sum 기본적으로 Matlab 의모든연산과함수의입력데이터처리는 열벡터 방향이다. 행렬의 Transpose 연산자 : 복소수의공액

행렬연산 (cont d) 행렬의원소들은임의의 Matlab 식이될수있다. 행렬의원소를얻으려면 ( ) 안에해당원소의위치를넣는다.

행렬연산 (cont d) 두개의행렬을하나로합칠경우행렬의차원을일치시켜야한다. -> size 함수이용

Matlab 의연산자 연산자의종류 산술연산자 - 사칙연산 관계연산자 같다, 크다, 작다 논리연산자 AND, OR 연산자의우선순위 산술 -> 관계 -> 논리 왼쪽에서오른쪽으로, () 가우선

산술연산자 1 Transpose (. ) Power (.^ ) Complex conjugate transpose ( ) 2 Unary plus ( + ) Unary minus ( - ) 3 곱셈 ( * ) 오른쪽나눗셈 (./ ) 왼쪽나눗셈 (. ) 행렬에서의좌측과동일한연산 4 덧셈 ( + ) 뺄셈 ( - ) 5 Colon 연산자 ( : )

증가연산자, Colon 용법 변수 = 최소값 : 증가치 : 최대값 변수 = 최소값 : 최대값 행렬의인덱스를표기할수도있음

점연산자,. 행렬의각각의요소에해당연산을수행케함 X = 1 3 2 4 Y = 5 7 6 8

관계연산자 관계연산자의종류 해당연산자에대한설명 < 보다작다 (less than) <= 작거나같다 (less than or equal to) > 보다크다 (greater than) >= 크거나같다 (greater than or equal) == 같다 (equal to) ~= 같지않다 (not equal to)

논리연산자 논리연산자의종류 해당연산자의설명 & AND OR ~ NOT

논리함수 함수의종류 xor 해당함수에대한설명 Exclusive OR 연산을수행 all 벡터의모든원소가 참 (nonzero) 인경우에만 1 을반환 any 벡터의임의의원소가 참 (nonzero) 인경우에만 1 을반환 isnan isfinite isinf 벡터의원소중에서 NaN 이위치한곳에 1 을반환 벡터의원소중에서유한한크기를갖는수치, 또는 NaN 이아닌곳에 1 을반환 벡터의원소중에서무한한크기를갖는곳에 1 을반환

꼭알아야할 Matlab 명령어 help: 명령어에대한도움말을보여줌 helpdesk: Document CD인스톨후사용가능 lookfor: 함수나명령어를찾음 dir(or ls), delete, type: 도스명령어와동일 who(s): 변수의정보를알려줌 size: 변수의차원에대한정보를알려줌 clear: 변수를메모리에서삭제 clc: command window의내용을삭제

Matlab 작업공간만들기 File-Set path 선택후 Add Folder 로자신이주로작업할폴더를선택하거나새로만든다. 폴더를아래 / 위로옮길수있다.

M-file 프로그래밍 M-file 이란 Matlab 언어로쓰여진파일 script mode : 연속된 Matlab 명령어 function mode : 입 / 출력매개변수사용 Script mode 의 M-file 파일이름은어떠한것으로도사용할수있다. Function mode 의 M-file Function 이름과파일이름이같아야한다. base workspace 에있는데이터에대해서연산 Functoin workspace 에있는데이터에대해서연산

Function mode 의 M-file M-file 작성단계 1. Matlab Editor 실행 New File 아이콘클릭 2. function 출력변수 = 함수이름 ( 입력변수 ) 의형태로함수를정의 3. % 으로시작하는주석을단다. help 함수이름 하면함수정의이후부터주석이출력된다. 4. 함수본체작성

Function mode 의 M-file 의예 함수정의 주석문 이하함수본체

명령어의흐름제어 명령어의흐름을제어하는방법 4 가지 if, else와 elseif switch for while 명령어의끝은 end 로표기

if 문 if 논리문명령어문장 elseif 논리문명령어문장 else 명령어문장 end

switch 문 switch 변수또는식 case 값1 명령어문장 case 값2 명령어문장 otherwise 명령어문장 end

for 문 for 인덱스 = 초기치 : 증가치 : 최종치명령어문장 end

while 문 while 논리적인조건명령어문장 end Matlab 에도에도C 언어언어에있는 break 명령어가있는데,, 기능은서로서로같다고보아도된다된다..

M-file 의 debugging 의심이가는곳에 break point 지정 debugging 아이콘을이용하여 debugging Set/clear break point 아이콘과 Clear all break points 아이콘 차례로 Step, Step in, Step out, Continue, Exit debug mode 아이콘 Break point 를지정후실행 (F5) 시키면 point 가있곳에서실행을멈춘다.

Subfunction function mode M-file의첫번째함수를 primary function 이라하고, 이함수의이름이 M-file의이름이된다. primary function안에새롭게정의된함수를 subfunction 이라고한다. subfunction 은해당 primary function 안에서, 또는같은파일안에있는 subfunction 에서만참조가가능하다.

Subfunction 의사용예 primary function subfunction 호출 subfunction primary function 에서에서사용되는변수와수와subfunction 에서에서사용하는변수는수는이름이이름이같더라도라도서로서로별개의것이다것이다..

Global 변수 primary function 과 subfunction 에동일하게 global 변수를선언하여야같은이름의변수를서로사용할수있다.

다차원배열 Matlab 에서다차원배열은일반적인 2 차원배열에대한확장 표기법 변수 ( 차원 1, 차원 2, 차원 3, ) 차원 1 은행, 차원 2 는열, 차원 3 은페이지에대한인덱스를나타낸다.

배열인덱싱 = = 4 9 5 0 8 2 1 6 3 4 0 1 9 8 6 5 2 3 A A

다차원배열을만들어주는함수 ones(d1,d2,d3, ) 모든원소가 1 로이루어진배열 zeros(d1,d2,d3, ) 모든원소가 0 으로이루어진배열 randn(d1,d2,d3, ) 정규분포된난수발생 rand(d1,d2,d3, ) 균등하게분포된난수발생

M-file 작성시유용한함수들 input 함수 menu 함수 dialog 형함수 questdlg, msgbox, helpdlg, errordlg, warndlg etc.

input 함수 R = input( prompt, s ); command window 에 prompt 가출력되고문자열을입력할때까지기다린다 입력된문자열은 R 에반환된다. R = input( prompt ); 수식이나변수의이름을입력할때까지기다린다. 입력된것이수식인경우 workspace에있는변수들에기반을두고계산하여결과를 R에반환한다.

input 함수사용예 R1 R1과 R2 R2에동일하동일하게 12345 라는라는값을입력하였지만,, R1 R1은 char char 형으로형으로,, R2 R2는 double double형으로형으로저장되었다되었다..

menu 함수 R = menu( menu title, s1, s2, sn ); 주어진 menu title 을가진 menu window 를생성 s1, sn 항목은 push 버튼의 label 로나타남 임의의 push 버튼을클릭하면 s1 부터 1,2,,N 의값을 R 에반환한다.

menu 함수사용예

dialog 형함수 msgbox(message, title, icon ) title을박스의이름으로하고 message를표시하는박스를만든다. message박스안에표현할아이콘모양을결정 icon 종류 : error, help, warn

Matlab Graphics Handle Graphics system 그래프들의체계 Graphics Objects 9 가지 figure object, line object, axes object, patch object, surface object, text object, image object, uicontrol object, uimenu object

Matlab Graphics(cont d) handle : Matlab 그래프함수는객체들을제어할수있도록새로만들어지는객체마다고유의숫자를반환한다. 이들고유한숫자를 handle 이라고한다. Handle 값이 1 이다.

자주쓰는그래픽관련함수 2 차원그래프 plot, subplot etc. 3 차원그래프 plot3, mesh, contour, surf etc. 사용법은 help 또는 helpdesk 명령어를이용하여확인하기바람 그래픽개체라벨링 title, xlabel, legend, text, gtext etc.

Matlab 을이용한신호처리예제 요구조건 1 녹음된소리의샘플링주파수를알아내고, FFT 분석을통해기본주파수및주파수특성을분석하여라. 요구조건 2 위신호의 STFT 그래프를보여라. 요구조건 3 신호를입력받고주파수특성을보이는제어창을 GUI 를이용하여구현하여라.

요구조건 1 해결포인트 [X, Fs] = wavread( filename.ext ); wave file 을읽어들여 PCM 데이터 (X) 와샘플링주파수 (Fs) 를저장한다. fftdata = fft(x,n); PCM 데이터를 N-point DFT 를이용하여변환한다. 기본주파수확인 N이 2의배수라면 length(fftdata)/2샘플이 Nyquist 주파수 (Fs/2) 를가리킨다. 샘플간의주파수간격을통해기본주파수를확인

요구조건 2 해결포인트 win = window(@hamming,ws); 기본주파수를통해윈도우사이즈 (ws) 를결정하고, 목적에맞는윈도우 (@hamming) 를결정한다. while 을이용한 looping length(x)/ws 의횟수만큼윈도우된신호 fft 반복 [xx,yy] = meshgrid(x_fq,[0:size(sx,1)]); mesh(xx, yy, sx); 반복된 fft 의결과물을 mesh 함수를통해그림

요구조건 3 해결포인트 guide : GUI 프로그래밍 callback function 정의 axes object 창생성 axes(handles.axesobjecttagname); % 창활성화 plot(fftdata); guidata(hobject, handles); %handle 값저장 uicontrol object edit, button handles.file = str2double(get(hobject,'string')); set(handles.edittag, 'String', handles.file);