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

Similar documents
PowerPoint 프레젠테이션

MATLAB for C/C++ Programmers

MATLAB for C/C++ Programmers

PowerPoint Presentation

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

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

설계란 무엇인가?

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

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

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

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054>

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

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint - ch07 - 포인터 pm0415

슬라이드 1

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

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

MATLAB

슬라이드 1

금오공대 컴퓨터공학전공 강의자료

PowerPoint Template

歯9장.PDF

Matlab Graphics

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

PowerPoint Presentation

MATLAB and Numerical Analysis

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=" 2 xmlns:tools="

C# Programming Guide - Types

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

Microsoft PowerPoint - additional01.ppt [호환 모드]

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

KNK_C_05_Pointers_Arrays_structures_summary_v02

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션


< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

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

Microsoft PowerPoint - chap06-2pointer.ppt

구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

Orcad Capture 9.x

Tcl의 문법

API 매뉴얼

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

Visual Basic 반복문

Contents Activity Define Real s Activity Define Reports UI, and Storyboards Activity Refine System Architecture Activity Defin

11장 포인터

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

chap 5: Trees

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - chap06-1Array.ppt

쉽게 풀어쓴 C 프로그래밍

untitled

설계란 무엇인가?

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

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

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Microsoft PowerPoint - chap05-제어문.pptx

chap7.key

K&R2 Reference Manual 번역본

Java ...

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

PowerPoint 프레젠테이션

Microsoft Word - FunctionCall

UI TASK & KEY EVENT

Microsoft PowerPoint - e pptx

1

Microsoft PowerPoint - Lesson2.pptx

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Microsoft PowerPoint 세션.ppt

adfasdfasfdasfasfadf

Columns 8 through while expression {commands} 예제 1.2 (While 반복문의이용 ) >> num=0

BMP 파일 처리

Lab 3. 실습문제 (Single linked list)_해답.hwp

% 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

BK21 플러스방법론워크숍 Data Management Using Stata 오욱찬 서울대사회복지학과 BK21 플러스사업팀

02장.배열과 클래스

컴파일러

The Pocket Guide to TCP/IP Sockets: C Version

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

Javascript.pages

Microsoft PowerPoint - a10.ppt [호환 모드]

π >> x=linspace(0,2*pi,30); >> y=sin(x); >> plot(x,y) π

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

Microsoft PowerPoint - System Programming Lab Week1.ppt [호환 모드]

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

untitled

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

DocsPin_Korean.pages

Application TI-89 / Voyage TM 200 PLT application. application, application. APPLICATIONS :, N. 1. O application. 2. application : D C application,. a

Microsoft PowerPoint - lect03.ppt [호환 모드]

Index Process Specification Data Dictionary

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

쉽게 풀어쓴 C 프로그래밍

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

API 매뉴얼

Microsoft PowerPoint - chap-03.pptx

Transcription:

Matlab 소개 part 2 http://idb.korea.ac.kr DataBase & Mining LAB. Korea University 본발표자료는 mastering MATLAB 7, MATLAB An Introduction With Application, 임종수의 MATLAB7, Digital Image Processing using MATLAB 을참조하였습니다. 1

목차 v M-file v 제어 v 변수 함수 스크립트 v 데이터타입 v Plot v variable save/load v File Open/Close, 데이터를쓰고, 읽는 fprintf, fscanf v Graphics with MatLab v 본강의자료는 MATLAB 을사용하기위한가장기본적인내용만다루고있습니다. 따라서관련교재들을반드시참조하시기바랍니다. 2

M-file Programming 1 v M-file : Matlab언어로쓰여진파일들 (files) v 연속적인 Matlab문장들 ( 명령어들 ) 을수행하는 script mode 파일이름은어떠한이름으로도사용가능 v 입력매개변수와출력매개변수를다루는 function mode 파일의이름은 function 이름과가능한같게한다 v text editor 를이용하여 M-file 작성 v command window 에서 M-file 을부르거나, 다른 M-file 내에서호출 v 비교 function : 변수가 function workspace에등록됨. script : 변수가 base workspace(command workspace) 에등록됨. ( 전역변수 ) 6,7 페이지에있는 function과 script를실행할때 workspace 변화확인 3

함수작성유의사항 v 파일첫줄에 function 이라는단어가있는 M- 파일이함수파일 function 변수 = 파일이름 ( 인자 ) function [Pccoeff, Pcvec] = pca(data, N) v 스크립트와의큰차이점은 function 이없으면스크립트로인식 v 파일이름의이름으로사용된이름이함수의이름과같아야함 v % 기호뒤에나오는문장들은주석으로인식되어무시 v % 기호와함께적어놓은설명부분은 MATLAB 프롬프트에서 help mean 이라고입력하였을때화면상에표시 v 첫번째로 % 기호이후의주석은 lookfor mean 이라고입력하면화면에 mean 이라는단어를포함하는항목을모두표시 4

function 작성 v Matlab Command Window 에서 fact(2) 를해보자 다음과같은메시지가나온다??? Undefined command/function 'fact'. v 작성한후디스크모양의 Save 를 클릭하면저장화면이뜨고, 저장할이름에 fact 라고되어있다. text editor 실행 v prod.m 함수는입력매개변수로주어진 벡터를구성하는각각의원소에대한 곱을반환하는함수 (matlab 에서지원 ) 5

Script 작성 v text editor 에서 y=prod(1:n) 이라고작성한뒤, script_fact.m 으로저장 6

기본함수설명 v disp.m : 주어진 메시지 문자열을화면에출력. disp( 메시지 ) v rem.m : 주어진배열 a,b 에대해 a./b 를계산하여나머지들을반환한다. Y = rem(a, b) v fix.m : 주어진배열 X 의원소들의소수부분을제거하고정수로만이루어진배열을만든다 Y = fix(x) 7

Flow Control : if/switch case v 임의의벡터 x 가홀 / 짝수를구별하는 exe_fc.m 함수를작성한다. 입력이없으면 error 메세지출력 8

Flow Control : for v for 변수 = 시작값 : 증가분 : 최종값 < 실행문 > end v k = i+2 는어떤결과가나올까? 9

Flow Control : while while 논리적인조건 < 실행문 > end v n! 의결과가 100 을넘어가기전의 n! 의 n 을구하시오.. % disp 대신 sprintf 로변경한결과 10

Flow Control v break, continue, return 은개인적으로확인하시기바랍니다. v try, catch : 예외처리기능 try 다음에나오는명령문중에서 error 가발생하면실행을중단하고, catch 뒤에나오는명령문을실행한다. catch 에서도 error 가발생하면제어권을 matlab command window 로돌려준다. 일종의변형된 if/else 문이다 try < 명령문 1 > < 명령문 2 > catch < 명령문 3 > end 11

지역 / 전역변수 v Local variables 각각의 matlab function 은자신만의 local variables 를가지고있다. 단 nested function( 다른함수안에명시적으로 encapulated 한함수 ) 제외 script 의경우는독립적인 variable 이아닌호출한곳의 workspace 에데이터를저장. 따라서 command window 에서호출되면 base workspace 에저장. 함수에서호출되면해당함수 workspace 에저장 v Global variables 서로다른 workspace 간데이터를교환하고싶은경우에는입 / 출력매개변수를이용하거나전역변수를이용 global 로선언한다. ex) global n v 추가사항 2 차원배열을참조할때, A(2,3) 원소를인덱스로표현하면 A(8) 이다. why?! matlab 은열우선으로저장한다. 12

Data Types : 다차원배열 v 2, 3, 4 차원배열등의다차원배열사용가능 v 3 차원배열예 v 다차원배열을만드는함수들 ones.m, zeros.m, rand.m, randn.m, cat.m, reshpae.m, repmat.m 등 13

Data Types : String v 문자열 (text strings) 은단일인용부호 (single quotes ) 로둘러싸여표현된다 14

Data Types : Cell v 다른타입의데이터를같이사용하는배열 [ ] 가아닌 { } 를사용한다 v Cellplot.m 을통해해당 cell 데이터타입의구성을확인한다 15

Data Types : Struct 1 v 다음과같은구조를갖는 record 들로구성되는 data field 가있다 학생 (record 이름 ) 성명 : 이종욱학번 : 2007001 학점 : [ 4.3 4.0 4.3 4.5 ] v cell 방법사용 16

Data Types : Struct 2 v C 언어에서배운 struct 와같은방식으로 field 를지정하여 record 저장할수있다. % 각각의 field 는 C 언어와같이.(dot) 으로구분 % field name 을이용하여 struct type students 의 field 에접근 17

Plot 1 v Line Plots : plot.m, ploty.m, loglog.m etc v Bar Plots : bar.m, barh.m etc v Scatter Plots v Pie Charts v Contour Plots 와 Mesh v plot3 와 surf 18

Plot 2 % 그래프가그려진후다음명령을실행해보자. % 어떤변화가발생하는가? >> xlabel('test plot x') >> ylabel('test plot y'); >> title('plot 연습 ') v 선지정 : 빨간쇄선, 별마크 19

Plot 3 v Grid : 그래프의눈금표시에서의격자를설정 해제한다. v Box : 축상자를설정 해제한다. v 제목과축의라벨들은 title, xlabel, ylabel 을사용하여첨가 v text(x,y,s) : 좌표 (x,y) 에문자열 S 를첨가한다. v Gtext : 마우스를사용하여대화식으로텍스트를첨가 v axis([xmin xmax ymin ymax]) 는현재의그래프의비율을주어진값으로 설정 v hold on : 현재의그래프에그래프를더추가 (cf. hold off) v figure : 다중그림창을생성. figure(n) 은 n 번째의그림창을활성화함. v 하나의 figure 는 subplot 명령을사용하여나뉘어질수있음. v zoom on 으로설정해두면, 마우스로그림창을확대할수있음. 20

Plot 4 21

fplot v fplot 명령은 y = f(x) 형태인함수값을지정된한계사이에서그래프를정확하게그려주는명령 fplot( function, limits, line specifiers) v y = x^2 + 4*sine(2x) -1 그래프그리기 22

variable save v 첫번째 : MATLAB 프로그램상단 File/Save 확장자 mat mat은 binary로저장된다 v 두번째 : Command Window 에서저장 현재사용된모든 variable 저장 필요한 variable 저장 v tip1 : workspace 에있는변수들을모두삭제할때 clear all v tip2 : 변수들정보확인할때 whos 23

variable load 1 v 첫번째 : MATLAB 프로그램상단 File/Open 을이용하여해당파일 load v 두번째 : Command Window 에서 모든 variable 가져오기 v exe_01.mat 파일을읽으면, Workspace 에해당 variable 이 등록된다. 일부분 variable 가져오기 24

variable load 2 v 여러파일들을가져와야할때 현재 work 폴더에 exe_01.mat ~ exe_04.mat 파일존재 25

File open v mat파일뿐아니라 txt, dat 파일을사용하는방법 v fid = fopen('dat.dat','r'); r : 자료를읽음, default mode w: 자료를쓸수만있음, w+: 자료를읽고쓸수있다. a : 자료를추가할수있음 r+ : 자료를읽고쓸수있음 fid = fopen( 파일이름, 모드 (mode)) - 주어진파일 ( 확장자포함 ) 을 open하는데성공하면, 파일식별자 (file identifier) fid에 3이상의양의정수를반환하고, 실패할경우에는 -1을돌려준다 - fid는 file handle이다 >> fid = fopen('aaa.txt', 'r') fid = -1 해당파일이 Path 안에없으므로 fid 값을 -1 - 실패할경우 fid 값 -1-1 인경우에는 screen 에표시하라는뜻 - 2 인경우에는표준 error 26

File close v 열려있는파일을닫아주는함수 fclose.m st = fclose(fid) - fopen.m함수에의해반환된파일식별자 fid를이용하여열려있는파일을닫아준다 - 파일을닫아주는데성공하면, 0 을반환하고, 실패하면 -1 을반환 st = fclose( all ) - 열려있는모든파일을닫아준다 v 관련책들을보면서추가사항들을확인하시기바랍니다. 27

데이터를쓰는 fprintf.m v 파일을열고난후, 그파일에데이터를쓰는 fprintf.m count = fprintf( fid, format, A, ) - 행렬 A에서실수부 (real part) 를주어진 format에맞추어열려있는파일 (fid) 에쓰기 (write) 를행한다. - fprintf함수를이용해쓰여진 bytes수가리턴된다. 그값이 count변수저장됨 fprintf( fid, format, A, ) - screen(standard output) 에행렬 A 를표시한다 v format 예 %-12.5e % 사용하려는 format 시작알림 - 주어진필드에서왼쪽 (flag) 정렬 12.5 정수부는 12자리이내, 소수는 5자리 e 지수형태로표시, d 10진수표시 28

데이터를읽는 fscanf v 파일을열고난후, 해당파일에있는데이터를읽어들이는함수 [ A, count ] = fscanf( fid, format, size ) - fopen.m함수에의해열려있는파일 (fid) 을주어진 format에맞게 size에서술된크기로읽어들인다. - count는읽어들인데이터의수를의미 A = fscanf( fid, format ) - format 에의거하여데이터를읽어들인뒤에열벡터의형태로반환한다. size 추가 - n : n개의데이터를열벡터의형태로읽어들인다 - inf : 주어진파일의끝까지읽어들인다. - [m, n] : m x n 의크기를갖는행렬의형태로읽어들인다. n은 inf가될수있으나 m 은될수없다. exe) [2, inf] : 2 x 열의값이있을때까지 29

File open/close 예제 v exp.txt 파일을만들고 ( 열고 ), 그안에해당연산값을저장한다 v exp.txt 에저장된값을읽고 (read) 그값을변수 a 에저장한다 30

Graphics with MatLab 1 v 디지털영상표현 영상은 2차원함수 f(x,y) 로정의 공간좌표평면 (x,y) 샘플링 ( 표본화 ), 양자화후좌표화 f(0,0) f(0,1).. f(0,n) f(1,0) f(1,1).. f(1,n) f(x,y) = f(2,0) f(2,1).. f(2,n)..... f(m,1) f(m,2).. f(m,n) 31

Graphics with MatLab 2 v 영상읽기 imread( 경로 \ 파일명 ) 예 Ø f = imread('c:\program Files\MATLAB71\work\kus105.jpg'); whos f Ø 사이즈크기등배열에관한추가정보표시 2005.9.21.Wed Sky 101 Team master 32

Graphics with MatLab 3 v 영상표시 imshow(f,g) Ø f 는영상배열 Ø g 는밝기레벨수 Ø g 입력안할경우기본값 256레벨으로설정 예 Ø imshow(f) 33

Graphics with MatLab 4 v 영상저장 imwrite(f, 파일명, 파일형식 ) 예 Ø imwrite(f, korea_pic.jpg ) Ø imwrite(f, korea_pic_02, jpg ) JPEG 영상에만가능한기법 Ø imwrite(f, korea_compression.jpg, quality, 50) Ø 영상압축률을지정하여저장한다 34