블로그 이미지
Salt n Light

calendar

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

Notice

Recent Comment

Recent Trackback

Archive

'MATLAB 기초 강좌'에 해당되는 글 4

  1. 2008.03.17 MATLAB 기초 강좌(4) (5/5)
  2. 2008.03.17 MATLAB 기초 강좌(3) (4/5)
  3. 2008.03.17 MATLAB 기초 강좌(2) (3/5)
  4. 2008.03.17 MATLAB 기초 강좌(1) (2/5)
2008.03.17 16:33 Season#2 - M.S./Programming

MATLAB 기초 강좌(4)

 

  • M-file

(1) 스크립트로 사용되는 M-file

주목적

명령어 또는 함수들의 일괄처리

파일 명

제한이 없음

변수의 범위

M-file에서의 변수와 MATLAB Workspace에서의 변수의 구분이 없다.


(2) 함수로 사용되는 M-file

주목적

외부로부터 값을 입력 받아서 어떤 연산을 수행한 후 다시 외부로 반환 값으로 보내주는 함수로써의 기능

파일 명

가급적이면 함수 명과 같도록

M-file의 구조

function  출력인자=함수이름1(입력인자)

 

 

변수의 범위

global 변수의 경우

M-file에서의 변수와 MATLAB Workspace에서의 변수 사이의 구분이 없다. (스크립트와 같음.)

local 변수의 경우

M-file에서의 변수와 MATLAB Workspace에서의 변수는 서로 다르다.


입력 값과 반환 값의 수에 다른 여러 가지 형태의 함수

 


n개의 입력(input1, input2,, input n)을 받아서 m개의 출력(output1, output2, , output m)을 보내는 함수의 경우

function [output1, output2, , output m] = function name(input1, input2,, input n)


n개의 입력(input1, input2,, input n)을 받아서 1개의 출력(output1)을 보내는 함수의 경우

function output1 = function name(input1, input2,, input n)


n개의 입력(input1, input2,, input n)을 받아서 아무 출력도 보내지 않는 경우

function  function name(input1, input2,, input n)


아무런 입력도 받지 않고 아무 출력도 보내지 않는 경우

function  function name()



(3) 서브 함수

사용자 삽입 이미지




 

(4) 전역 변수

 MATLAB Workspace와 함수 간의 변수의 공유를 위한 전역 변수

사용자 삽입 이미지





Workspace와function양쪽 모두에 공유 하고자 하는 변수를 전역 변수로 선언 (global z)




 

함수와 함수 간의 변수의 공유를 위한 전역 변수

사용자 삽입 이미지

 

function1과unction2  양쪽 모두에 공유하고자 하는 변수를 전역 변수로  선언


 



 문자열 관련 함수

abs(S)

S가 수이면 절대값을 계산하고, 문자열이면 문자열을 ASCII값으로 하여 반환.

double(S)

S가 수이면 double precision 값으로 변환하고, 문자열이면 문자열을 ASCII값으로 하여 반환.

isstr(S)

S가 문자열이면 1을 반환하고 그 외는 0을 반환.

strcmp(S1,S2)

문자열 S1과 S2를 비교하여 두 문자열이 일치하면 1을 일치하지 않으면 0을 반환. 단, 문자열은 대소문자를 구분한다.

upper(S)

문자열 S을 모두 대문자(uppercase)로 바꾼다.

lower(S)

문자열 S을 모두 소문자(lowercase)로 바꾼다.

[S1,S2]

문자열 S1에 문자열 S2를 더한다.

setstr(A)

char(A)

ASCII값으로 된 문자열 A를 실제의 문자열로 변환한다

setstr(A)나 char(A)는 같은 기능을 수행한다. 차기 버전에서는 setstr(A)는 제공되지 않는다.

ischar(S)

S가 문자열이면 1을 그 외는 0을 반환.

num2str(A)

A를 문자열로 변환한다. 만약 소수점이하의 정밀도까지 고려하고 싶으면 num2str(A,N)을 사용한다. N은 정밀도를 나타낸다.

int2str(A)

정수 A를 문자열로 변환한다. 만약 A의 자료형이 실수형이면 정수로 반올림하여 문자열로 변환한다.

str2double(S)

문자열을 double precision 값으로 변환한다. 단, MATLAB 5.3버전부터 제공됨.


  • dialog 및 메뉴 window

이름

설명

meun

어떤 주어진 무리에서 하나를 선택하도록 하는 GUI기반의 명령어이다.

msgbox

어떤 메시지를 GUI 형태로 된 창을 통해서 사용자에게 전달하기 위해서 사용된다.

inputdlg

GUI로 이루어진 dialog 창을 생성 시켜서 사용자로부터 어떤 값을 입력 받는다.

questdlg

여러 개의 버튼 중에서 하나를 선택한 후 반환 값으로 그 선택된 버튼의 라벨 명을 가지는 dialog 창을 생성시킨다.

helpdlg

 도움말 dialog 창을 생성한다.

errordlg

 오류 dialog 창을 생성한다.

warndlg

경고 dialog 창을 생성한다.

printdlg

그림 창을 출력하거나 프린터를 설정할 수 있는 출력dialog 창을 생성시킨다.

pagedlg

출력할 그림 창을 출력 용지의 크기에 맞게 조정할 수 있는 Page Position dialog 창을 생성 시킨다.

uigetfile

임의의 파일을 선택할 수 있는 파일 선택 GUI창을 만들어 준다.

uiputfile

임의의 파일을 저장할 수 있는 파일 저장GUI창을 만들어 준다.

uisetfont

글꼴을 선택할 수 있는 글꼴 선택 창을 생성시켜 준다.

uisetcolor

색을 선택할 수 있도록 색상 선택 창을 생성시켜 준다.


  • save와 load

(1) save

MATLAB의 workspace에 있는 모든 변수를 한 파일로 저장하는 경우

save 파일명

MATLAB의 workspace에 있는 임의의 변수를 한 파일로 저장하는 경우

save 파일명 변수1 변수2 변수n

Default 파일 저장 형식인 2진 파일(MAT파일)을 ASCII파일로 저장하고 싶을 때

save 파일명 ?ascii

save 파일명 변수1 변수2 변수n -ascii


(2) load

2진 파일 형식으로 저장된 MAT파일을 읽어 들이는 경우

load 파일명

ASCII파일로 저장된 파일을 읽어 들이는 경우

load 파일명 -ascii 또는 load 파일명


  • 파일 처리를 위한 I/O 함수

함수 명

설명

fopen

파일을 개방하는데 사용된다.

fclose

fopen에 의해 개방된 파일을 닫아 준다.

fscanf

파일로부터 데이터를 읽어 들이기 위해서 사용된다.

fprinf

파일에 임의의 데이터를 쓰기 위해서 사용된다.

fseek

현재 판독/기록 위치를 제어하는데 사용한다.

ftell

파일내의 현재의 판독 및 기록위치를 파일의 시작에서부터 시작해서 바이트로 계산 해 반환한다.

fgets

파일로부터 문자열을 읽을 때 사용된다.

feof

파일의 끝인지를 검사할 때 사용되다.

frewind

파일의 판독/기록 위치를 파일의 시작으로 이동시키기 위해서 사용된다.

ferror

파일과 관련되어서 수행하였던 작업의 오류 상태를 알아 보는데 사용된다.


- MATLAB 기초 강좌는 여기서 마칩니다. 다음 부터는 조금더 전문분야의 내용을 다루도록 하겠습니다.


출처: http://myhome.naver.com/lsb2088/data/matlab/matlab5.html

'Season#2 - M.S. > Programming' 카테고리의 다른 글

[MATLAB] MATLAB 한글학교  (0) 2008.03.17
MATLAB 기초 강좌(4) (5/5)  (0) 2008.03.17
MATLAB 기초 강좌(3) (4/5)  (0) 2008.03.17
MATLAB 기초 강좌(2) (3/5)  (0) 2008.03.17
MATLAB 기초 강좌(1) (2/5)  (0) 2008.03.17
MATLAB에 대한 간단한 소개(1/5)  (0) 2008.03.17
posted by Salt n Light
2008.03.17 16:31 Season#2 - M.S./Programming

MATLAB 기초 강좌(3)

 

  • MATLAB에서의 연산자

(1) 산술 연산자

연산자

의미

설명

+

덧셈

A+B

A에 B를 더한다.

-

뺄셈

A-B

A에서 B를 더한다.

*

행렬 곱셈

A*B

두 행렬 A와 B를 곱한다.

.*

배열 곱셈

A.*B

두 행렬 A와 B의 각 요소끼리 곱한다.

/

행렬 우측나누기

A/B

           A와 B의 역행렬의 곱셈

./

배열 우측나누기

A./B

           A와 B행렬의 각 요소들끼리 나눈 값으로 이루어진 행렬

\

행렬 좌측나누기

A\B

           A의 역행렬과 B의 곱셈

.\

배열 좌측나누기

A.\B

           B와 A행렬의 각 요소들 끼리 나눈 값으로 이루어진 행렬

^

행렬 거듭제곱

A^B

행렬A의 거듭제곱

.^

배열 거듭제곱

A.^B

행렬A의 각 요소의 거듭제곱


(2) 관계 연산자 및 동등 연산자

연산자

의미

설명

<

작다

A<B

A의 각각의 요소가 B의 각각의 요소보다 작은가?

<=

작거나 같다.

A<=B

A의 각각의 요소가 B의 각각의 요소보다 작거나 같은가?

>

크다

A>B

A의 각각의 요소가 B의 각각의 요소보다 큰가?

>=

크거나 같다.

A>=B

A의 각각의 요소가 B의 각각의 요소보다 크거나 같은가?

==

같다

A==B

A의 각각의 요소와 B의 각각의 요소가 같은가?

~=

같지 않다

A~=B

A의 각각의 요소와 B의 각각의 요소가 같지않은가?


(3) 논리 연산자와 논리 함수

연산자

의미

설명

&

논리 곱(and)

A & B

두 수식 A와 B가 둘 다 동시에 참일 때만 참이고 그 외는 모두 거짓

|

논리 합(or)

A | B

두 수식 A와 B중 적어도 하나만 참이면 참이고 그 외는 모두 거짓

~

부정

~A

A가 참이면 거짓으로, 거짓이면 참으로 변환

xor

XOR 논리합

xor(A,B)

A의 각 요소와 B의 각 요소에 대한 논리합을 취하되 둘 다 참일 경우에는 거짓이 되다. 

any

논리 함수

any(A)

한 벡터의 요소들 중에서 0이 아닌 요소가 하나라도 존재하면 참

all

논리 함수

all(A)

한 벡터의 모든 요소들이 0이 아니면 참

exist

논리 함수

exist(A)

변수나 파일의 존재 여부를 조사하여 값을 반환

  0이면 A는 존재하지 않음

  1이면 A는 작업공간내의 변수

  2이면 A는 *.m이나 기타의 파일

  3이면 A는 *.mex 파일 (MEX-file)

  4이면 A는 *.mdl 파일 (Simulink model)

  5이면 A는 MATLAB 함수

  6 이면 A는 P-file

  7 이면 A는 디렉토리


(4) 비트 연산자

연산자

의미

설명

bitand

비트별 논리곱

bitand(A,B)

0과 bitmax사이의 양의 정수로 구성된 A와 B에 대한 비트별 논리곱을 수행

bitcmp

Complement 비트

bitcmp(A,N)

정수 A의 Complement 비트를 N 비트의 정수로 반환한다. 단, N은 A의 비트의 길이보다 크거나 같아야 된다.

bitor

비트별 논리합

bitand(A,B)

0과 bitmax사이의 양의 정수로 구성된 A와 B에 대한 비트별 논리합을 수행

bitmax

최대의 부동정수

bitmax

사용자의 시스템의 최대의 부동정수를 반환한다.

bitxor

비트별 XOR 논리합

bitxor(A,B)

0과 bitmax사이의 양의 정수로 구성된 A와 B에 대한 exclusive비트별 논리합을 수행

bitset

비트의 설정

bitset(A,BIT)

정수 A의 BIT값에 의한 비트의 위치에 있는 값을 1로 바꾼다. BIT는 1과 부동정수의 최대의 비트수이다. (IEEE 규정을 따라는 시스템의 경우 52)

bitget

비트 값의 획득

bitget(A,BIT)

정수 A의 BIT값에 의한 비트의 위치에 있는 비트 값을 반환 한다. BIT는 1과 부동정수의 최대의 비트수이다. (IEEE 규정을 따라는 시스템의 경우 52)

bitshift

비트의 이동

bitshift(A,N)

만약 N이 양수이면 A를 좌로 N 비트 이동 시키고 N이 음수이면 A를 우로 N 비트 이동 시킨다.


  • MATLAB에서 사용되는 제어문

(1) 택일문

if, elseif, else를 사용한 택일문       switch-case를 사용한 택일문

if  수식 1                                         switch 수식

   문장1;                                             case 수식1,

elseif  수식 2                                              문장1

   문장2;                                             case 수식2,

else                                                          문장2

   문장 3;                                            otherwise,

end                                                 문장3

다음 문장;                                        end

                                                      다음 문장


(2) 반복문

for를 사용한 반복문

for 변수1= 변수1의 초기값: 변수1의 증분 값: 변수1의 최종 값,

    문장

end


while을 사용한 반복문

while 수식

    문장

end


(3) 분기문 : break, return



출처: http://myhome.naver.com/lsb2088/data/matlab/matlab4.html

'Season#2 - M.S. > Programming' 카테고리의 다른 글

[MATLAB] MATLAB 한글학교  (0) 2008.03.17
MATLAB 기초 강좌(4) (5/5)  (0) 2008.03.17
MATLAB 기초 강좌(3) (4/5)  (0) 2008.03.17
MATLAB 기초 강좌(2) (3/5)  (0) 2008.03.17
MATLAB 기초 강좌(1) (2/5)  (0) 2008.03.17
MATLAB에 대한 간단한 소개(1/5)  (0) 2008.03.17
posted by Salt n Light
2008.03.17 16:30 Season#2 - M.S./Programming

MATLAB 기초 강좌(2)

 

  • MATLAB에서 그래픽을 그리는 일반적인 절차

(1) plot할 데이터를 준비한다.

(2) 데이터를 plot할 그림 창을 선택하고 Single graphic으로 할 건지 Multi graphic으로 할건지를 선택한다.

(3) plot함수를 호출한다.

(4) Line이나 marker의 property를 선택한다.

(5)축의 한계값, Grid line등을 설정한다.

(6) xlabel, legend, text등으로 그래픽 객체에 라벨링을 한다.

(7) 그래픽 객체를 출력한다.

 

  • Line을 그리는 그래픽 함수들

함수

설명

plot

x와 y축에 대해서 모두 선형 배율(linear scale)로 된 그래프를 그린다.

loglog

x와 y축에 대해서 모두 log 배율(linear scale)로 된 그래프를 그린다.

semilogx

x축에 대해서는 log 배율(linear scale)로 y축에 대해서는 선형 배율(linear scale)로 된 그래프를 그린다.

Semilogy

x축에 대해서는 선형 배율(linear scale)로 y축에 대해서는 log 배율(linear scale)로 된 그래프를 그린다.

plotyy

y축의 좌우에 값으로 라벨이 된 그래프를 그린다.


  • plot를 사용한 선 그리기

(1) 2차원 데이터의 선 그리기의 경우

plot(x,y,Color+LineStyle+Marker)

(2) 3차원 데이터의 선 그리기의 경우

plot(x,y,z,Color+LineStyle+Marker)

(3) 여러 쌍의 데이터를 하나의 그림 창에 한꺼번에 그리고 싶은 경우

plot(x1,y1,CSM1, x2,y2,CSM2,, xn,yn,CSMn,)


  • Line을 그리는 함수들에서 사용 가능한 선의 color

MATLAB에서의 symbol

Color (RGB값)

MATLAB에서의 symbol

Color (RGB값)

c

Cyan (011)

g

green (010)

m

Magenta (101)

b

blue (001) (default 값)

y

yellow (110)

w

white (111)

r

red (100)

k

black (000)


  • Line을 그리는 함수들에서 사용 가능한 선의 style

MATLAB에서의 symbol

Style

MATLAB에서의 symbol

Style

-

Solid line (default 값)

:

Dotted line

--

Dashed line

-.

Dash-dot line

none

No line



 

  • Line을 그리는 함수들에서 사용 가능한 선의 marker

MATLAB에서의 symbol (용어)

Marker Style

MATLAB에서의 symbol (용어)

Marker Style

+ (Plus sign)

+

^ (Upward pointing triangle)

O (Circle)

O

v (Downward pointing triangle)

* (Asterisk)

*

> (Right pointing triangle)

. (Point)

·

< (Left pointing triangle)

X (Cross)

×

pentagram (Five pointed star)

square (Square)

hexagram (Six pointed star)

diamond (Diamond)

none

No marker (default 값)


  • 그랙픽 객체에 라벨링을 하는 그래픽 함수들

함수 명

설명

title

그래프의 제목을 더한다.

xlabel

x축에 라벨을 더한다.

ylabel

y축에 라벨을 더한다.

zlabel

z축에 라벨을 더한다.

legend

그래프에 범례를 더한다.

text

그래픽 객체의 임의의 위치에 문자열을 더한다.

gtext

마우스를 사용하여 그래픽 객체의 임의의 위치에 문자열을 더한다

grid

그래픽 객체에 격자를 더하거나 없앤다.


  • 극 좌표계에서의 선 그리기

polar(각도,반지름, Color+LineStyle+Marker)


  • 좌표계의 변환

(1) 직각 좌표계에서의 데이터를 극 좌표계의 데이터로 변환 하는 함수

 [각도,반지름]=cart2pol(x좌표,y좌표)

[각도,반지름,높이]=cart2pol(x좌표,y좌표,z좌표)

(2) 극 좌표계에서의 데이터를 직각 좌표계의 데이터로 변환 하는 함수

[x좌표,y좌표]= pol2cart (각도,반지름)

[x좌표,y좌표,z좌표]=pol2cart(각도,반지름,높이)

(3) 직각 좌표계에서의 데이터를 구면 좌표계의 데이터로 변환 하는 함수

[f,q,반지름]=cart2sph(x좌표,y좌표,z좌표)

(4) 구면 좌표계에서의 데이터를 직각 좌표계의 데이터로 변환 하는 함수

[x좌표,y좌표,z좌표]=sph2cart(f,q,반지름)


  • 마우스를 사용한 좌표 값의 입력

 [x좌표,y좌표,Button]=ginput(N)


  • 래픽 객체를 파일로 저장하는 방법

print -f<handle> -device -options filename


  • 그래픽 객체를 파일로 저장하기 위한 device들

Device명

저장 파일 형식

Dmeta

파일 확장자가 EMF인 Meta파일 형식으로 저장한다.

Dbitmap

파일 확장자가 BMP인 Bitmap파일 형식으로 저장한다.

Dps

파일 확장자가 PS인 흑백 프린터를 위한 PostScript 파일 형식으로 저장한다. (흑백으로 저장됨)

Dpsc

파일 확장자가 PS인 칼라 프린터를 위한 PostScript 파일 형식으로 저장한다. (칼라로 저장됨)

dps2

파일 확장자가 PS인 흑백 프린터를 위한 Level 2 PostScript 파일 형식으로 저장한다. (흑백으로 저장됨)

dpsc2

파일 확장자가 PS인 칼라 프린터를 위한 Level 2 PostScript 파일 형식으로 저장한다. (칼라로 저장됨)

deps

파일 확장자가 EPS인 흑백 프린터를 위한 Encapsulated PostScript 파일 형식으로 저장한다. (흑백으로 저장됨)

depsc

파일 확장자가 EPS인 칼라 프린터를 위한 Encapsulated PostScript 파일 형식으로 저장한다. (칼라로 저장됨)

deps2

파일 확장자가 EPS인 흑백 프린터를 위한 Encapsulated Level 2 PostScript 파일 형식으로 저장한다. (흑백으로 저장됨)

depsc2

파일 확장자가 EPS인 칼라 프린터를 위한 Encapsulated Level 2 PostScript 파일 형식으로 저장한다. (칼라로 저장됨)

dhpgl

파일 확장자가 HGL인 Hewlett-Packard 7475A 플로터를 위한 HPGL파일 형식으로 저장한다.

dill

파일 확장자가 AL인 Adobe Illustrator 88 호환 파일 형식으로 저장한다.

djpeg<nn>

파일 확장자가 JPG인 JPEG 파일 형식으로 저장한다.

<nn>은 Jpeg파일의 질을 나타내는 것으로 0에서 100사이의 값을 가진다.

dtiff

파일 확장자가 TIF인 압축된TIFF 파일 형식으로 저장한다.

dtiffnocompression

파일 확장자가 TIF인 압축되지 않은 TIFF 파일 형식으로 저장한다.

dpng

파일 확장자가 PNG인 Portable Network Graphic 24-bit truecolor image 파일 형식으로 저장한다.

dmfile

저장할 그림 창을 다시 복원할 MATLAB의 M-file과 MAT-file을 만든다.


  • 그래픽 객체를 프린터로 출력하는 방법

(1) 현재 windows시스템에 설정된 기본 프린터로 현재 활성화 되어 있는 그림 창의 그래픽을 출력하는 경우

print

(2) device를 사용하여 프린터로의 출력을 제어 하는 경우

print -f<handle> -device -options

(3) 그림 창의 File 메뉴의 print관련 메뉴를 사용한다.


  •   그래픽 객체를 프린터로 출력하기 위한 device들

Device명

설명

dwin

그래픽 객체를 현재 설정된 프린터로 흑백으로 출력

Dwinc

그래픽 객체를 현재 설정된 프린터로 칼라로 출력

dsetup

출력은 하지 않고 Print Setup dialog box를 띄운다.

v

출력을 하기 위해서 Print dialog box를 띄운다.

dljet2p

HP LaserJet IIP 프린터로 출력

dljet3

HP LaserJet III 프린터로 출력

ddeskjet

HP DeskJet and DeskJet Plus 프린터로 출력

dcdj550

HP Deskjet 550C (UNIX only) 프린터로 출력

dpaintjet

HP PaintJet color printer 프린터로 출력

dpcx24b

24-bit color PCX file format, 3 8-bit planes

dppm

Portable Pixmap (plain format)


  • 윤곽선 그래프

(1) 2차원 데이터의 윤곽선 그래프의 경우

contour(x,y,z,N)

(2) 3차원 데이터의 윤곽선 그래프의 경우

contour3(x,y,z,N)


면 그래프를 그리기 위한 그래픽 함수들

함수

설명

mesh, surf

면 그리기

meshc, surfc

contour(윤곽선,등고선)그리기가 포함된 면 그리기

meshz

curtain(막)그리기가 포함된 면 그리기

pcolor

평평한 면 그리기

surf1

임의의 광원을 가진 3차원shade된 면 그리기

surface

면 그리기 (Low-level function)


  • 막대 그래프를 그리는 함수들


2차원

3차원

수직 방향

bar

bar3

수평 방향

barh

barh3


  • 파이 챠트 그리기

(1) 2차원 파이 챠트의 경우

pie(y)

(2) 3차원 파이 챠트의 경우

pie3(y)


  • 히스토그램 그리기

(1) 직각 좌표계에서의 데이터의 경우

hist(y)

(2) 극 좌표계에서의 데이터의 경우

rose(theta)


  • stem plot

(1) 2차원 데이터의 stem plot의 경우

stem(x,y,Color+LineStyle+Marker)

(2) 3차원 데이터의 stem plot의 경우

stem3(x,y,Color+LineStyle+Marker)


  • 계단 그래프 그리기

stairs(x,y)


  • 방향 및 속도 벡터 그래프 관련 함수들

함수

설명

compass

Polar plot의 원점으로부터 발산하는 벡터를 그린다.

feather

수평선을 따라 등 간격으로 분포된 점들로부터 연장하는 벡터를 그린다.

quiver

(u,v)성분에 의해 정의 되는 2차원 벡터를 그린다.

quiver3

(u,v,w)성분에 의해 정의 되는 3차원 벡터를 그린다.


  • 애니메이션

(1) movie를 사용하는 방법

axis equal

M = moviein(n);

for j=1:n

  plot_command

  M(:,j) = getframe;

 end

Movie(M)


(2) redraw 와 erase를 사용하는 방법

p=erase_mode가 사용된plot_commad

hold on

axis를 사용한 축의 고정

for j=1:n

 변화되는 점의 계산

 set(p,x,x,y,y)

 drawnow

end

  • 기타의 그래픽 관련 유틸리티들

(1) subplot(m,n,i) 또는 subplot(mni)

하나의 그림 창에 여러 하부 그래픽 영역을 만든다.

(2) hold on/off

이미 존재하는 그래프에 기존의 그래프를 지우지 않고 새로운 그래프를 추가한다(hold on).

(3) axis([x축의 최소값, x축의 최대값, y축의 최소값, y축의 최대값])

축의 한계값을 입력된 벡터인 [x축의 최소값, x축의 최대값, y축의 최소값, y축의 최대값]에 맞추어 바꾼다.

(4) axis on/off

Tick mark와 축의 라벨을 보이거나(axis on) 감춘다(axis off).

(5) zoom

그래프를 확대 또는 축소 시킨다.

(6) colorbar

그래픽 객체에 색의 스케일을 나타내는 bar를 추가한다.

(7) hidden on/off

은선을 보이게(hidden off) 또는 보이지 않게(hidden on) 한다

(8) view(AZ,EL)

사용자가 그래픽 객체를 바라보는 높이와 방향을 의미하는 관찰점을 변경 시킨다.

(9) colormap

그림 창에 사용된 색의 수를 나타내는 행렬 값을 제어한다.



출처: http://myhome.naver.com/lsb2088/data/matlab/matlab3.html

posted by Salt n Light
2008.03.17 16:29 Season#2 - M.S./Programming
  •  데이터의 입력

스칼라·벡터·행렬 데이터를 MATLAB으로 입력하는 방법에는 (1) Command Prompt에서 직접 입력하거나 (2) M-file을 이용하거나 (3) 파일로부터 읽어오는 방법 등이 있다.


  •  데이터의 행과 열의 구분

MATLAB에서는 행을 구분하는 데는 세미콜론(;)이나 new line을 사용하고, 열을 구분할 때는 콤마(,)나 공백을 사용한다. 예를 들어서 다음 행렬 a를 입력하는 데는 4가지 형태가 있다.

사용자 삽입 이미지

(1) >> a=[1,2,3;4,5,6;7,8,9];

(2) >> a=[1,2,3

      4,5,6

      7,8,9];

(3) >> a=[1 2 3;4 5 6;7 8 9];

(4) >> a=[1 2 3

      4 5 6

      7 8 9];


  •  MATLAB에서 정의되는 특별한 상수

 

특별한 상수

설명

pi

원주율 (3.14159265358979)

i, j

복소수

Inf

무한대(∞)

NaN

Not a Number

eps

부동 소수점의 상대적인 정확도를 나타낸다.

ans

가장 최근의 값을 나타내는 변수를 나타낸다.

flops

부동 소수점 연산을 수행한 횟수를 나타낸다.

realmax

가장 큰 양의 부동 소수점을 말한다.

realmin

가장 작은 양의 부동 소수점을 말한다.

computer

MATLAB을 수행 하고 있는 computer의 종류 및 그 computer에 설치된 MATLAB에서 사용할 수 있는 행렬의 최대 원소의 개수를 정수로 출력한다.

cuptime

MATALB을 시작한 후부터 MATLAB에서 사용한 CPU Time을 초로 계산 하여 출력한다.

clock

현재의 시간을 행 벡터(1´6)로 출력한다.

date

문자열로 이루어진 현재의 날짜를 출력한다.


  •   MATLAB에서 정의 되는 특별한 행렬

특별한 행렬

설명

빈행렬 (empty matrix)

행렬자체는 존재하지만 요소가 하나도 없는 행렬

영 행렬 ( zero matrix)

모든 행렬의 요소가 0이 되는 행렬. zeros를 사용하여 생성된다.

모든 요소가 1로 이루어진 행렬 (matrix of ones)

모든 요소가 1로 이루어진 행렬. ones를 사용하여 생성된다

단위 행렬 (identify matrix)

대각 성분만 1이고 나머지 요소는 모든 요소가 0인 행렬이다. eye를 사용하여 생성된다.

균등 분포된 난수들로 이루어진 행렬

균등하게 분포된 난수들로 이루어진 행렬. rand(n) 또는 rand(n,m)를 사용하여 생성된다

정규 분포된 난수들로 이루어진 행렬

정규 분포된 난수들로 이루어진 행렬. randn(n) 또는 randn(n,m)를 사용하여 생성된다


  • 콜론(:)을 사용한 벡터의 입력

A=시작값:증분값:최종값

는 첫번째 요소를 시작값으로 하고 그 다음 요소부터는 증분값에 따라서 결정되어 마지막  요소를 최종값으로 하는 벡터 A를 생성 시킨다.  생성된 벡터 A는 다음과 같다.

A=[시작값, 시작값+증분값,  시작값+2*증분값, ..., 최종값]

만약 증분값이 생략되면 default값으로 1을 사용한다. 즉, 시작값:최종값시작값:1:최종값과 같다.


  • 첨자를 사용한 행렬 요소의 값 할당

A(i,j)=b

는 행렬 A의 i번째 행과 i번째 열의 요소에 b를 할당하라는 의미이다.

)  

>>A=[1,2;3,4];

>>A(2,2)=6;

>>A

A =

     1     2

     3     6

b=A(i,j)

는 행렬 A의 i번째 행과 i번째 열의 요소의 값을 b에 할당하라는 의미이다.

)  

>>A=[1,2;3,4];

>> b=A(1,2);

>> b

b =

     2


  • 첨자를 사용한 부행렬(sub matrix)의 지정이나 행렬에서 벡터를 만들어 내기

행렬 A에서 부행렬 B를 지정하는 방법은 행렬 이름 다음의 괄호 안에 시작행:끝행,시작열:끝열과 같이 지정하고자 하는 요소들이 위치한 범위를 지정해 주면 된다.

 B=A(i:j,k:l)

는 행렬 A의 i행에서 j행까지의 요소들 중에서, k열에서 l열까지의 요소들을 B에 저장한다.

)

>> A=[1,2,3;4,5,6;7,8,9];

>> A

A =

     1     2     3

     4     5     6

     7     8     9

>> B=A(1:2,1:2);

>> B

B =

     1     2

     4     5

행렬 A의 한 행이나 열을 모두 하나의 벡터로 지정하기 위해서는 첨자를 다음과 같이 사용한다.

B=A(k,:)

는 행렬 A의 k번째 행을 B에 저장하라는 의미이다. 이때 B는 행 벡터가 된다.

B=A(:,k)

는 행렬 A의 k번째 열을 B에 저장하라는 의미이다. 이때 B는 열 벡터가 된다.

)

>> b=A(2,:)

b =

     4     5     6

>> b=A(:,3)

b =

     3

     6

     9


  • 스칼라의 연산법칙 및 연산의 우선 순위

스칼라의 연산법칙

연산작용

MATLAB에서의 수식

더하기

a+b

빼기

a-b

곱하기

a*b

우측 나누기

a/b

좌측 나누기

a\b

지수

a^b


스칼라의 연산의 우선 순위

연산의 우선순위

연산

MATLAB에서의 수식

1

괄호 (Parenthesis)

( )

2

지수 (exponentiation)

^

3

곱하기와 나누기

(multiplication & division)

* , / , \

4

더하기와 빼기

(addition & subtraction)

+ , -


  • 행렬의 형태 조작 관련 함수

rot90

행렬을 90°씩 회전시킨다

flipud

행렬의 각 행을 상하 방향으로 교환한다

fliplr

행렬의 각 행을 좌우 방향으로 교환한다

reshape

한 행렬에서 요소들을 취하여 다른 행렬을 만든다


  • 배열의 연산

연산작용

MATLAB에서의 수식

더하기

a+b

빼기

a-b

곱하기

a.*b

우측 나누기

a./b

좌측 나누기

a.\b

지수

a.^b


) 한 행렬의 각 요소를 다른 행렬의 요소로 거듭 제곱하기

사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
   

  • 다차원 배열

다차원 배열은 다음과 같이 2개 이상의 index를 가지는 벡터를 말한다.

a(i,j,k)

2차원 배열인 행렬을 사용하여 3차원 배열을 만들기 위해서는 2차원 배열에 세 번째 index인 페이지를 추가 한다.

A(:,:,k)

k번째 페이지에 2차원 배열인 행렬을 가지고 있는 3차원 배열을 나타낸다


출처: http://myhome.naver.com/lsb2088/data/matlab/matlab2.html

posted by Salt n Light
prev 1 next