matlab 개요와 응용 5 장 2 차원 그래프

65
MATLAB -1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1 MATLAB MATLAB 개개개 개개 개개개 개개 5 5 2 2 개개 개개개 개개 개개개

Upload: reece-lucas

Post on 31-Dec-2015

578 views

Category:

Documents


2 download

DESCRIPTION

MATLAB 개요와 응용 5 장 2 차원 그래프. 강의 내용. plot 명령어 fplot 명령어 같은 그래프에 여러 곡선 출력하기 그래프의 형식지정 로그 축 그래프 특수 그래프 히스토그램 같은 페이지에 여러 그래프 그리기 다중 그림 창 응용예제. PLOT 명령어. 정보를 표현하는 데 그래프는 매우 유용한 도구이다 . MATLAB 에는 여러 유형의 그래프를 생성하는 데 사용할 수 있는 많은 명령어들이 있다 . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB

-1-0.5

00.5

1

-1

-0.5

0

0.5

1-1

-0.5

0

0.5

1

z(1/3)

MATLABMATLAB 개요와 응용개요와 응용55 장 장 22 차원 그래프차원 그래프

Page 2: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 2/65

강의 내용강의 내용

plotplot 명령어명령어 fplotfplot 명령어명령어 같은 그래프에 여러 곡선 출력하기같은 그래프에 여러 곡선 출력하기 그래프의 형식지정그래프의 형식지정 로그 축 그래프로그 축 그래프 특수 그래프특수 그래프 히스토그램히스토그램 같은 페이지에 여러 그래프 그리기같은 페이지에 여러 그래프 그리기 다중 그림 창다중 그림 창 응용예제응용예제

Page 3: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 3/65

PLOT PLOT 명령어명령어

정보를 표현하는 데 그래프는 매우 유용한 도구이다정보를 표현하는 데 그래프는 매우 유용한 도구이다 . MATLAB. MATLAB에는 여러 유형의 그래프를 생성하는 데 사용할 수 있는 많은 에는 여러 유형의 그래프를 생성하는 데 사용할 수 있는 많은 명령어들이 있다명령어들이 있다 .. 그래프 종류그래프 종류 : : 선형축 표준 그래프선형축 표준 그래프 , , 로그 및 세미로그 축 그래프로그 및 세미로그 축 그래프 , ,

극좌표 그래프극좌표 그래프 , , 막대그래프 및 계단그래프막대그래프 및 계단그래프 , 3, 3 차원 윤곽 표면 및 망 차원 윤곽 표면 및 망 그래프 등그래프 등

그래프 형식지정그래프 형식지정 : : 선 형태선 형태 (( 직선직선 , , 파선 등파선 등 ), ), 색깔색깔 , , 두께 등 지정두께 등 지정 . . 그래프의 제목과 텍스트 설명그래프의 제목과 텍스트 설명 , , 데이터 표식데이터 표식 (marker)(marker) 과 격자선과 격자선(grid line) (grid line) 추가추가 . . 여러 개의 곡선을 한 그래프에 표시하기여러 개의 곡선을 한 그래프에 표시하기 , , 여러 여러 그래프를 한 페이지에 나타내기그래프를 한 페이지에 나타내기 . . 범례범례 (legend) (legend) 표시하기 등표시하기 등 ..

이 장에서는 이 장에서는 MATLABMATLAB 을 이용하여 여러 유형의 을 이용하여 여러 유형의 22 차원 그래프를 차원 그래프를 생성하고 그래프의 형식을 지정하는 방법에 대해 기술한다생성하고 그래프의 형식을 지정하는 방법에 대해 기술한다 ..

Page 4: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 4/65

그래프 구성 요소그래프 구성 요소

Figure window titleFigure window titleFigure window Figure window title numbertitle number

Plot titlePlot title

LegendLegend

X axis labelX axis label

Y axis labelY axis label

MarkerMarker

Text labelText label

Page 5: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 5/65

그래프 생성 프로그램 예그래프 생성 프로그램 예

x=[10:0.1:22]; y=95000./x.^2;

xd=[10:2:22]; yd=[950 640 460 340 250 180 140];

plot(x,y, '-', 'LineWidth', 1.0)

xlabel('\fontname{ 돋움 } 거리 (cm)')

ylabel('\fontname{ 돋움 } 세기 (lux)')

axis([8 24 0 1200])

title('\fontname{ 바탕 }\bf 거리 함수인 빛의 세기 ', …

'FontSize',14)

text(14,700,'\fontname{ 돋움 } 이론과 실험의 비교 ', …

'EdgeColor','r','LineWidth',2)

grid on, hold on

plot(xd, yd, 'ro--', 'LineWidth', 1.0, 'MarkerSize', 10)

legend('\fontname{ 돋움 } 이론 ', '\fontname{ 돋움 } 실험 ', 0)

set(gcf, 'Name', 'Fig. 5-8') %set(… ,'NumberTitle', 'off')

hold off

Page 6: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 6/65

PLOT PLOT 명령어명령어

22 차원 그래프를 생성하는 데 사용되는 차원 그래프를 생성하는 데 사용되는 plot plot 명령어의 형식 명령어의 형식 ::

x : x : xx 좌표값들을 가진 벡터좌표값들을 가진 벡터 y : y : yy 좌표값들을 가진 벡터좌표값들을 가진 벡터 x, y x, y 두 벡터로부터 형성되는 순서쌍을 그래프에 점으로 나타내고 두 벡터로부터 형성되는 순서쌍을 그래프에 점으로 나타내고

점들을 직선으로 잇는다점들을 직선으로 잇는다 ..

plot(x, y)

그래프 예그래프 예>> >> x=[1 2 3 5 7 7.5 8 10];x=[1 2 3 5 7 7.5 8 10];

>> y=[2 6.5 7 7 5.5 4 6 8];>> y=[2 6.5 7 7 5.5 4 6 8];

>> plot(x, y), >> plot(x, y), grid ongrid on

그 래 프 의 기 본 선 색 깔 은 그 래 프 의 기 본 선 색 깔 은 파란색이다파란색이다 ..

Page 7: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 7/65

그래프 형식 지정자그래프 형식 지정자

plot plot 명령어의 옵션으로 선 색깔과 종류명령어의 옵션으로 선 색깔과 종류 , , 데이터 표식데이터 표식 (marker) (marker) 모양 등을 모양 등을 지정할 수 있다지정할 수 있다 . . 옵션을 사용하기 위한 옵션을 사용하기 위한 plot plot 명령어의 형식 명령어의 형식 ::

선 색깔선 색깔 지정자지정자

rreded rr

ggreenreen gg

bbluelue bb

ccyanyan cc

mmagentaagenta mm

yyellowellow yy

blacblackk kk

wwhitehite ww

plot(x, y, ‘line specifiers', 'PropertyName', PropertyValue)

선과 선과 markermarker 의 모양의 모양 색 ∙색 ∙지정지정

선의 굵기선의 굵기 , marker, marker 의 크기의 크기 테두리 배경 색 ∙ ∙테두리 배경 색 ∙ ∙지정지정

선 종류선 종류 지정자지정자

실선실선 (( 기본기본 ))Solid lineSolid line --

파 선파 선Dashed lineDashed line ----

점 선점 선Dotted lineDotted line ::

일점쇄선일점쇄선Dash-dot lineDash-dot line -.-.

Marker Marker 모양모양 지정자지정자

plus plus 부호부호 ++

원원 o(o( 알파벳알파벳 ))

별표별표 **

점점 ..

▲▲/ ▼/ ◄/►/ ▼/ ◄/► ^/^/vv/</>/</>

■■ ss

♦♦ dd

xx xx

Page 8: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 8/65

그래프 형식 지정 예그래프 형식 지정 예

Page 9: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 9/65

그래프 형식 지정자 사용시 유의할 점그래프 형식 지정자 사용시 유의할 점

선택사항인 지정자는 선택사항인 지정자는 plot plot 명령어 안에 문자열로 표시한다명령어 안에 문자열로 표시한다 .. 여러 개의 지정자를 문자열 내에 표시하는 경우 순서는 상관없다여러 개의 지정자를 문자열 내에 표시하는 경우 순서는 상관없다 ..

plot(x, y)plot(x, y)    파란 실선파란 실선 (( 기본 설정기본 설정 ) ) ♦ ♦ plot(x, y, 'r')plot(x, y, 'r')     빨간 실선빨간 실선 plot(x, y, '--y')plot(x, y, '--y')     노란 파선노란 파선 plot(x, y, '*')plot(x, y, '*')         연결선 없이 데이터값만 ‘연결선 없이 데이터값만 ‘ **’’ 로 표시로 표시 plot(x, y, 'plot(x, y, 'gg::dd')') 데이터 값을 ‘데이터 값을 ‘♦♦’’로 표시한 후로 표시한 후 , , 녹색 점선녹색 점선으로 연결으로 연결

Page 10: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 10/65

그래프 속성그래프 속성 (property) (property) 지정지정

plot plot 명령어에서 그래프 속성 이름과 속성값을 지정함으로써 명령어에서 그래프 속성 이름과 속성값을 지정함으로써 선 두께선 두께 ,, markermarker 의 크기와 테두리 색의 크기와 테두리 색 ,, 채움 색채움 색을 지정할 수 있다을 지정할 수 있다 ..

속성 이름속성 이름 (Property name)(Property name) 과 해당 속성값과 해당 속성값 (Property value) :(Property value) :

속성 이름속성 이름 설명설명 가능한 속성 값가능한 속성 값

LineWidthLineWidth 선의 선의 굵기굵기 지정 지정 point point 단위의 수단위의 수 (( 기본 값 기본 값 0.5)0.5)

MarkerSizeMarkerSize markermarker 의 의 크기크기 지정 지정 point point 단위의 수단위의 수

MarkerEdgeColorMarkerEdgeColormarkermarker 의 의 테두리선 색테두리선 색 지정지정 이전 표의 색깔 지정자 사용이전 표의 색깔 지정자 사용

MarkerFaceColorMarkerFaceColor markermarker 의 의 배경색배경색 지정 지정 이전 표의 색깔 지정자 사용이전 표의 색깔 지정자 사용

속성 지정의 예 속성 지정의 예

plot(x,y,plot(x,y,'-mo''-mo', , ‘MarkerSize'‘MarkerSize',12, ,12, 'MarkerEdgeColor''MarkerEdgeColor','g', ,'g', ‘MarkerFaceColor'‘MarkerFaceColor', 'y',, 'y',

'LineWidth''LineWidth', 2) , 2)

원형 원형 marker marker 표시표시 , magenta, magenta 색 색 실선실선

선 두께 선 두께 2 2 pointpoint

markermarker 의 크기의 크기 : 12 point. Marker: 12 point. Marker는 녹색 테두리에 노란 색으로 는 녹색 테두리에 노란 색으로 채워짐채워짐

Page 11: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 11/65

주어진 데이터로부터 그래프 그리기주어진 데이터로부터 그래프 그리기

주어진 데이터를 이용하여 벡터를 생성하고주어진 데이터를 이용하여 벡터를 생성하고 , , 이 벡터들을 이용하여 이 벡터들을 이용하여 plot plot 명령어로 그래프를 그린다명령어로 그래프를 그린다 . .

예예 ) ) 어떤 회사의 어떤 회사의 1988~19941988~1994 년 판매 데이터를 그래프로 표시하기년 판매 데이터를 그래프로 표시하기

연도 1988 1989 1990 1991 1992 1993 1994

매출액 8 12 20 22 18 24 27

>> yr=[1988:1994];>> yr=[1988:1994];

>> >> ssaaleless=[8 12 20 22 18 24 27];=[8 12 20 22 18 24 27];

>> >> plot(yr,plot(yr, ssaaleless,, '--r*''--r*',, ''LLineineWWidth'idth',, 2,2, … …

‘‘MarkerSizeMarkerSize'',, 12)12)

Page 12: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 12/65

함수의 그래프 그리기함수의 그래프 그리기

plot plot 명령어로 함수 명령어로 함수 yy==ff((xx)) 를 그리기를 그리기 함수의 정의역에 대한 함수의 정의역에 대한 xx 값 벡터를 생성한다값 벡터를 생성한다 .. 원소별 연산을 이용하여 원소별 연산을 이용하여 xx 값 벡터에서의 값 벡터에서의 ff((xx) ) 값들을 구하여 벡터 값들을 구하여 벡터 yy 를 생성한다를 생성한다 . . 생성된 두 벡터로부터 생성된 두 벡터로부터 plot plot 명령어로 그래프를 그린다명령어로 그래프를 그린다 ..

예예 )) 정의역 정의역 --2≤2≤xx≤4≤4 에 대한 함수 에 대한 함수 yy=3.5=3.5--0.50.5xxcos(6cos(6xx)) 의 그래프의 그래프벡터 벡터 xx 의 원소 의 원소 간격을 미세하게 간격을 미세하게 생성함생성함

>> >> x=[-2:0.01:4]; x=[-2:0.01:4]; >> y=3.5.^(>> y=3.5.^(--0.5*x).*cos(6*x);0.5*x).*cos(6*x);>> plot(x, y)>> plot(x, y)

>> >> x=[-2:0.3:4];x=[-2:0.3:4];>> y=3.5.^(>> y=3.5.^(--0.5*x).*cos(6*x);0.5*x).*cos(6*x);>> plot(x, y)>> plot(x, y)

Page 13: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 13/65

그래프의 붙여넣기그래프의 붙여넣기

그림 창그림 창 (Figure Window)(Figure Window) 의 의 EditEdit 메뉴에서 메뉴에서 Copy FigureCopy Figure 를 선택하면를 선택하면 , , 그래프가 그래프가 클립보드로 복사되어 다른 응용프로그램에서 클립보드로 복사되어 다른 응용프로그램에서 붙여넣기붙여넣기로 삽입할 수 있다로 삽입할 수 있다 . .

붙여넣기로붙여넣기로그림 삽입그림 삽입

Page 14: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 14/65

fplot fplot 명령어로명령어로 함수 그래프 그리기 함수 그래프 그리기

fplotfplot 명령어로 함수 명령어로 함수 yy==ff((xx)) 의의 그래프를 그릴 수 있다 그래프를 그릴 수 있다 .. fplotfplot 명령어의 형식명령어의 형식

fplot( ''function', limits, ''Line Specifiers'')

그래프를 그릴 그래프를 그릴 함수함수

x x 의 정의역과 의 정의역과 y y 의 치역의 치역 ((옵션옵션 ))

선과 선과 markermarker 의 종류 및 의 종류 및 색색

''functionfunction'' fplotfplot 명령어 안에 문자열로 직접 입력할 수 있다명령어 안에 문자열로 직접 입력할 수 있다 . . 예예 ) ) ff((xx)=8)=8xx22+5cos(+5cos(xx)) 라면라면 , ,

'8*x^2+5*cos(x)''8*x^2+5*cos(x)', or, or '8*z^2+5*cos(z)''8*z^2+5*cos(z)', , '8*t^2+5*cos(t)''8*t^2+5*cos(t)' 로 입력 가능로 입력 가능 .. 미리 정의된 변수들은 함수에 포함될 수 없다미리 정의된 변수들은 함수에 포함될 수 없다 . . 예예 ) ) 위의 함수에서 위의 함수에서 88 을 어떤 을 어떤

변수에 할당한 후 이 변수를 함수에 포함시킬 수 있다변수에 할당한 후 이 변수를 함수에 포함시킬 수 있다 ..

limitslimits xx 의 정의역을 지정하는 두 원소의 벡터 의 정의역을 지정하는 두 원소의 벡터 [xmin, xmax], [xmin, xmax], 또는 또는 xx 의 정의역과 의 정의역과

yy 축의 경계값을 지정하는 네 원소 벡터축의 경계값을 지정하는 네 원소 벡터 , , [xmin, xmax, ymin, ymax][xmin, xmax, ymin, ymax] 이다이다 ..

Line specifier : Line specifier : 선 지정자와 동일선 지정자와 동일

Page 15: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 15/65

fplotfplot 에 의한 함수 그래프 그리기에 의한 함수 그래프 그리기

예예 ) ) --3≤3≤xx≤3≤3 에 대해에 대해 함수 함수 y y = = xx2 2 + 4sin(2+ 4sin(2xx))--1 1 의 그래프 그리기의 그래프 그리기

>> fplot( >> fplot( 'x^2+4*sin(2*x)'x^2+4*sin(2*x)--1'1', [, [--3,3] )3,3] )

예예 ) -) -5≤5≤xx≤5≤5 에 대 해에 대 해 함 수 함 수 y y = sin(= sin(tt22)/)/tt22 의의 그 래 프 그 래 프 그리기그리기

>> func=>> func='sin(t^2)/t^2''sin(t^2)/t^2' ; fplot( ; fplot( funcfunc, [-5, 5] ), [-5, 5] )

Page 16: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 16/65

한 그래프에 여러 곡선 출력하기한 그래프에 여러 곡선 출력하기

한 그래프에 여러 곡선을 표시하는 세 가지 방법 한 그래프에 여러 곡선을 표시하는 세 가지 방법 ::

1. plot 1. plot 명령어 속에 표시할 곡선 데이터를 나열하는 방법명령어 속에 표시할 곡선 데이터를 나열하는 방법

2. hold on, hold off 2. hold on, hold off 명령어를 사용하는 그래프를 계속 그리는 방법명령어를 사용하는 그래프를 계속 그리는 방법

3. line 3. line 명령어를 사용하는 방법명령어를 사용하는 방법

plot plot 명령어를 이용한 다중 그래프 출력명령어를 이용한 다중 그래프 출력

plot( plot( X1, Y1, [LineSpec1]X1, Y1, [LineSpec1], , X2, Y2, [LineSpec2]X2, Y2, [LineSpec2], , X3, Y3, [LineSpec3]X3, Y3, [LineSpec3] ) )

(X1, Y1)(X1, Y1) 과 과 (X2, Y2), (X3, Y3) (X2, Y2), (X3, Y3) 등 세 곡선을 같은 그림 창에 나타낸다등 세 곡선을 같은 그림 창에 나타낸다 . .

LineSpecLineSpec 을 각각 지정하지 않는 경우을 각각 지정하지 않는 경우 , MATLAB, MATLAB 이 각 곡선의 구분을 위해 이 각 곡선의 구분을 위해 곡선 색깔을 자동으로 다르게 표시한다곡선 색깔을 자동으로 다르게 표시한다 ..

예예 ) ) plot(plot(x, y, 'x, y, '--r'r', u, v, ', u, v, '----b', b', t, h, 'g:'t, h, 'g:'))

(x, y) x, y) 곡선은 빨간 실선곡선은 빨간 실선 , , (u, v) (u, v) 곡선은 파란 파선곡선은 파란 파선 , , (t, h) (t, h) 곡선은 녹색 곡선은 녹색 점선점선으로 한 그래프에 출력된다으로 한 그래프에 출력된다 ..

Page 17: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 17/65

예제 예제 5.1 5.1 함수와 도함수의 그래프 함수와 도함수의 그래프 그리기그리기

--2≤x≤42≤x≤4 에 대해 함수 에 대해 함수 y y = 3= 3xx3 3 -- 26 26x x + 10+ 10 과 이 함수의 과 이 함수의 11 차 도함수 및 차 도함수 및 22차 도함수 그래프를 같은 그림 창에 표시하라차 도함수 그래프를 같은 그림 창에 표시하라 ..

풀이풀이 ))

yy'' =9=9xx22 – 26, y – 26, y'''' = 18 = 18xx

x=[x=[--2:0.01:4];2:0.01:4];

y=3*x.^3y=3*x.^3--26*x+6;26*x+6;

yd=9*x.^2 yd=9*x.^2 -- 26; 26;

ydd = 18*x;ydd = 18*x;

plot(plot( x,x, y,y, '-b','-b', x,x, yd,yd, '--r''--r',, x,x, ydd,ydd, ':k' ':k' ))

Page 18: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 18/65

hold on/offhold on/off 를 이용한 다중 그래프를 이용한 다중 그래프

hold on/off hold on/off 명령어를 이용한 다중 그래프 작성명령어를 이용한 다중 그래프 작성1)1) plotplot 명령어를 이용하여 첫 번째 그래프를 그린다명령어를 이용하여 첫 번째 그래프를 그린다 ..

2)2) hold onhold on 명령어를 입력한다명령어를 입력한다 . . hold onhold on 명령어는 첫 번째 그래프가 그려진 명령어는 첫 번째 그래프가 그려진 그림 창을 열린 채로 유지하며 축의 속성과 형식지정도 그대로 유지한다그림 창을 열린 채로 유지하며 축의 속성과 형식지정도 그대로 유지한다 ..

3)3)이후부터 이후부터 plotplot 명령어를 추가하면 현재 그래프에 곡선이 추가된다명령어를 추가하면 현재 그래프에 곡선이 추가된다 . .

4)4) hold offhold off 명령어를 입력하면명령어를 입력하면 , , plotplot 명령어를 수행할 때마다 이전 그래프를 명령어를 수행할 때마다 이전 그래프를 지 우 고 축 의 속 성 을 초 기 화 하 는 초 기 설 정 모 드지 우 고 축 의 속 성 을 초 기 화 하 는 초 기 설 정 모 드 (default mode)(default mode) 로 로 MATLABMATLAB 을 원상회복시킨다을 원상회복시킨다 . .

x=[-2:0.01:4];x=[-2:0.01:4]; y=3*x.^3-26*x+6;y=3*x.^3-26*x+6;

yd=9*x.^2 - 26;yd=9*x.^2 - 26; ydd = 18*x;ydd = 18*x;

plot(x,plot(x, y,y, '-b')'-b')

hold onhold on

plot( plot( x,x, yd,yd, '--r‘'--r‘))

plot( plot( x,x, ydd,ydd, ':k‘':k‘))

hold offhold off

Page 19: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 19/65

line line 명령어를 이용한 다중 그래프명령어를 이용한 다중 그래프 (1/2)(1/2)

이미 존재하는 그래프에 이미 존재하는 그래프에 line line 명령어를 이용하여 곡선을 추가로 더 명령어를 이용하여 곡선을 추가로 더 표시할 수 있다표시할 수 있다 .. line line 명령어의 형식은 다음과 같다명령어의 형식은 다음과 같다 ::

plot(X, Y, ‘PropertyName’, PropertyValue) plot(X, Y, ‘PropertyName’, PropertyValue)

line line 명령어는 선 지정자를 갖지 않지만명령어는 선 지정자를 갖지 않지만 , PropertyName, PropertyName 과 과 PropertyValPropertyValueue 를 이용하여 선 종류와 색를 이용하여 선 종류와 색 , , 데이터 표식 등을 지정할 수 있다데이터 표식 등을 지정할 수 있다 . . 속성은 옵션이며속성은 옵션이며 , , 아무 것도 입력하지 않으면 기본 속성 및 값들을 아무 것도 입력하지 않으면 기본 속성 및 값들을 이용한다이용한다 .. 예를 들어예를 들어

line(x, y, 'linestyle', '--', 'color', 'r', 'marker', 'o') line(x, y, 'linestyle', '--', 'color', 'r', 'marker', 'o')

위 명령어는 위 명령어는 기존 그래프기존 그래프 에 원형 에 원형 markermarker 와 빨간 파선의 곡선을 와 빨간 파선의 곡선을 추가추가한다한다 ..

plot plot 명령어는 실행될 때마다 새로운 그래프를 시작하는 반면명령어는 실행될 때마다 새로운 그래프를 시작하는 반면 , line , line 명령어는 기존 그래프에 선들을 추가한다명령어는 기존 그래프에 선들을 추가한다 .. 여러 곡선을 한 그래프에 여러 곡선을 한 그래프에 그리려면그리려면 , plot , plot 명령어를 먼저 실행하고 명령어를 먼저 실행하고 line line 명령어로 곡선을 추가한명령어로 곡선을 추가한다다 ..

( 옵션 ) 선 종류와 색 , 두께 , 데이터 표식의 모양과 크기 , 표식의 테두리선 색 및 배경색 등을 지정하는 데 사용할 수 있는 속성과 값

Page 20: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 20/65

line line 명령어를 명령어를 plot plot 명령어보다 먼저 입력하면 명령어보다 먼저 입력하면 에러 메시지에러 메시지가 출력된다가 출력된다 ..

x=[-2:0.01:4];x=[-2:0.01:4];

y=3*x.^3-26*x+6;y=3*x.^3-26*x+6;

yd=9*x.^2 - 26;yd=9*x.^2 - 26;

ydd = 18*x;ydd = 18*x;

plot(x,plot(x, y,y, 'LineStyle''LineStyle', , '-''-', , 'color''color',, 'b' 'b'))

lineline(x, yd, (x, yd, 'LineStyle''LineStyle', , '--''--', , 'color''color',, 'r' 'r'))

lineline(x, ydd, (x, ydd, 'LineStyle''LineStyle', , ':'':', , 'color''color',, 'k' 'k'))

line line 명령어를 이용한 다중 그래프명령어를 이용한 다중 그래프 (2/2)(2/2)

Page 21: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 21/65

그래프의 형식 지정그래프의 형식 지정

plot plot 명령어와 명령어와 fplotfplot 명령어는 기본 형태로 그래프를 출력한다명령어는 기본 형태로 그래프를 출력한다 . . 따라서 따라서 그래프가 특정한 모양을 갖도록 하거나 추가 정보 표시를 위해서는 그래프가 특정한 모양을 갖도록 하거나 추가 정보 표시를 위해서는 그래프 형식 지정이 필요하다그래프 형식 지정이 필요하다 .. 격자격자 (grid) (grid) 표시하기표시하기 , , 축 범위 재설정 하기축 범위 재설정 하기 축 라벨과 그래프 제목축 라벨과 그래프 제목 , , 범례범례 (legend), (legend), 텍스트 라벨 등 추가하기텍스트 라벨 등 추가하기

그래프 형식 지정 방법그래프 형식 지정 방법 plot plot 또는 또는 fplot fplot 명령어 실행 후명령어 실행 후 , MATLAB , MATLAB 형식지정 명령어를 사용하는 방법형식지정 명령어를 사용하는 방법 ..

이 방법은 이 방법은 plot plot 명령어가 스크립트 파일에 포함되어 있을 때 유용하며명령어가 스크립트 파일에 포함되어 있을 때 유용하며 , , 프로그램이 실행될 때마다 지정한 형식이 적용된 그래프가 그려진다프로그램이 실행될 때마다 지정한 형식이 적용된 그래프가 그려진다 . .

그림 창의 그래프 편집기그림 창의 그래프 편집기 (Plot Editor)(Plot Editor) 를 이용하여 대화식으로 지정하는 방법를 이용하여 대화식으로 지정하는 방법 ..

그래프가 생성된 후 그래프가 생성된 후 그래프 편집기그래프 편집기로 해당 그래프에 대해 형식 지정을 하므로로 해당 그래프에 대해 형식 지정을 하므로 , , 해당 그래프에 대해서만 지정한 형식이 유효하며해당 그래프에 대해서만 지정한 형식이 유효하며 , , 그래프가 새로 생성되면 그래프가 새로 생성되면 형식지정을 다시 해야 한다형식지정을 다시 해야 한다 ..

Page 22: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 22/65

MATLAB MATLAB 형식 지정 명령어형식 지정 명령어

명 령명 령 설 명설 명

gtext(‘gtext(‘ 텍스트’텍스트’ ))text(x,y, ‘text(x,y, ‘ 텍스트’텍스트’ ))

마우스로 ‘텍스트’를 그래프내의 원하는 위치에 놓는다마우스로 ‘텍스트’를 그래프내의 원하는 위치에 놓는다 ..(x,y) (x,y) 위치에 ‘텍스트’의 첫 글자가 위치하도록 표시한다위치에 ‘텍스트’의 첫 글자가 위치하도록 표시한다 . .

title(‘title(‘ 텍스트’텍스트’ )) 그래프 윗부분에 ‘텍스트’를 제목으로 표시한다그래프 윗부분에 ‘텍스트’를 제목으로 표시한다 ..

xlabel(‘xlabel(‘ 텍스트’텍스트’ ))ylabel(‘ylabel(‘ 텍스트’텍스트’ ))

그래프의 가로축에 ‘텍스트’를 축 라벨로 표시한다그래프의 가로축에 ‘텍스트’를 축 라벨로 표시한다 ..그래프의 세로축에 ‘텍스트’를 라벨로 표시한다그래프의 세로축에 ‘텍스트’를 라벨로 표시한다 ..

axisaxisaxis( axis( [xmin xmax ymin ymax][xmin xmax ymin ymax] ) : ) : 좌표축 범위 지정좌표축 범위 지정axis axis [tight/normal/equal] [tight/normal/equal] : : 좌표축 좌표축 scaling scaling 및 모양조정및 모양조정

grid [on/grid [on/offoff]] 그래프 바탕에 격자그래프 바탕에 격자 (grid)(grid) 를 표시하거나 지운다를 표시하거나 지운다 ..

hold [on/hold [on/offoff]]현 재 그 래 프 와 좌 표 계 특 성 을 유 지 한 채현 재 그 래 프 와 좌 표 계 특 성 을 유 지 한 채 , , 새 로 운 새 로 운 그래프를 추가하거나그래프를 추가하거나 , , 기본설정으로 새로운 그래프를 기본설정으로 새로운 그래프를 생성생성 ..

[x,y]=ginput(n)[x,y]=ginput(n)마우스로 그래프에서 점을 선택하여 그 점의 마우스로 그래프에서 점을 선택하여 그 점의 (x, y) (x, y) 좌표를 읽어 벡터 좌표를 읽어 벡터 x, yx, y 에 저장한다에 저장한다 . n. n 은 읽을 점의 은 읽을 점의 개수이다개수이다 ..

legend(legend(‘s1’, ‘s2’,‘s1’, ‘s2’, …,…, pos) pos)선 종 류 와 입 력 한 문 자 열 을 지 정 한 위 치선 종 류 와 입 력 한 문 자 열 을 지 정 한 위 치 (pos)(pos) 에 에 표시한다표시한다 ..

Page 23: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 23/65

그래프 형식 지정 명령어그래프 형식 지정 명령어

xx, , yy 좌표축 부근에 좌표축 부근에 축 라벨축 라벨을 붙인다을 붙인다 ..

그래프 제목그래프 제목을 그림 상단에 표시한다을 그림 상단에 표시한다 ..

그래프 안에 텍스트를 표시그래프 안에 텍스트를 표시한다한다 . text. text 명령어는 그래프의 명령어는 그래프의 좌표로 좌표로 (x, y) (x, y) 위치에위치에 , gtext, gtext 는 마우스를 클릭한 위치에 는 마우스를 클릭한 위치에 텍스트 첫 글자의 왼쪽 하단모서리가 놓이도록 한다텍스트 첫 글자의 왼쪽 하단모서리가 놓이도록 한다 ..

곡 선 의 출 력 순 서 대 로 곡 선 의 출 력 순 서 대 로 texttext 를 를 입 력 하 면 곡 선 종 류 와 입 력 한 입 력 하 면 곡 선 종 류 와 입 력 한 텍스트를 범례로 그래프에 표시한텍스트를 범례로 그래프에 표시한다다 ..

표시 위치는 표시 위치는 pospos 에 의해 결정된다에 의해 결정된다 ..

pos=pos=--11 : : 우측 경계선 밖우측 경계선 밖pos=1~4pos=1~4 : : 우 측 상 단 부 터 우 측 우 측 상 단 부 터 우 측 하단까지 시계반대방향 순서로 그래프 하단까지 시계반대방향 순서로 그래프 안쪽안쪽pos=0pos=0 : : 우측 상 단 에 그 래 프 와 안 우측 상 단 에 그 래 프 와 안 겹치게겹치게

xlabel(xlabel(‘‘ 텍스트’텍스트’ ))ylabel(ylabel(‘‘ 텍스트’텍스트’ ))

title(title(‘‘ 텍스트’텍스트’ ))

text(x, y, text(x, y, ‘‘ 텍스트’텍스트’ ))gtext(gtext(‘‘ 텍스트’텍스트’ ))

legend(legend(‘text1’, ‘text2’, …, ‘text1’, ‘text2’, …, pospos))

titletitle

legendlegend

xlabelxlabel

pos=0pos=0pos=1pos=1

pos=2pos=2

pos=4pos=4pos=3pos=3

Page 24: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 24/65

title, text, xlabeltitle, text, xlabel 에서의 텍스트 에서의 텍스트 형식지정형식지정

xlabel, ylabel, title, text, legendxlabel, ylabel, title, text, legend 명령어에 포함된 텍스트 문자열의 글자 명령어에 포함된 텍스트 문자열의 글자 폰트와 크기폰트와 크기 , , 위치위치 (( 위첨자위첨자 , , 아래첨자아래첨자 ), ), 모양모양 (( 이탤릭이탤릭 , , 볼드 등볼드 등 ), ), 글자 색 등을 지정하여 화면에 표시할 수 있다글자 색 등을 지정하여 화면에 표시할 수 있다 . . 더 자세한 내용은 더 자세한 내용은 도움말 창의 도움말 창의 TextText 와 와 Text Properties Text Properties 항목항목을 참조한다을 참조한다 ..

문자열의 형식은 문자열 안에 수정자문자열의 형식은 문자열 안에 수정자 (modifier)(modifier) 를 추가하거나 명령어 를 추가하거나 명령어 옵션인 옵션인 PropertyNamePropertyName 과 과 PropertyValue PropertyValue 인자들을 문자열 다음에 인자들을 문자열 다음에 추가하여 조정할 수 있다추가하여 조정할 수 있다 ..

수정자수정자 (modifier)(modifier)

ModifierModifier 효과효과

\bf\bf 볼드체볼드체

\it\it 이탤릭체이탤릭체

\rm\rm 로만로만 (( 보통보통 ))체체

\fontname{\fontname{ 폰 트 이폰 트 이름름 }}

폰트 지정폰트 지정

\fontsize{\fontsize{폰트 크기폰트 크기 }} 폰트 크기 지정폰트 크기 지정

\color{\color{ 색깔이름색깔이름 }} 폰트 색깔 지정폰트 색깔 지정

수정자는 해당 문자열의 삽입한 수정자는 해당 문자열의 삽입한 위치 이후의 문자에 대해서만 위치 이후의 문자에 대해서만 효력을 미친다효력을 미친다 . .

문 자 열 중 일 부 텍 스 트 만 문 자 열 중 일 부 텍 스 트 만 수 정 하 려 는 경 우수 정 하 려 는 경 우 , , 수 정 할 수 정 할 텍스트를 수정자 뒤에 중괄호 텍스트를 수정자 뒤에 중괄호 { } { } 안에 삽입하면 된다안에 삽입하면 된다 . .

폰트 색깔이름폰트 색깔이름 : : blueblue, , magentamagenta, , ……

Page 25: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 25/65

문자열 내에서의 텍스트 형식지정문자열 내에서의 텍스트 형식지정

위 첨자와 아래첨자위 첨자와 아래첨자 _(_(밑줄 글자밑줄 글자 )) 나 나 ^̂ 뒤의 낱개 글자를 아래 첨자나 위 첨자로 출력시킨다뒤의 낱개 글자를 아래 첨자나 위 첨자로 출력시킨다 . . __ 나 나 ^ ^ 다음에 여러 개의 연속된 글자들을 중괄호 다음에 여러 개의 연속된 글자들을 중괄호 { } { } 속에 표시하면 여러 속에 표시하면 여러

개의 글자를 아래 첨자나 위 첨자로 표시할 수 있다개의 글자를 아래 첨자나 위 첨자로 표시할 수 있다 ..

그리스 문자그리스 문자 문자열 안의 ‘\문자열 안의 ‘\그리스 문자이름그리스 문자이름’은 실행 시 그리스 문자로 변환되어 출력된다’은 실행 시 그리스 문자로 변환되어 출력된다 .. 그리스 문자이름그리스 문자이름을 전부 영어 소문자로 표기하면 그리스 문자가 대문자을 전부 영어 소문자로 표기하면 그리스 문자가 대문자 , ,

소문자로 표기하면 그리스 문자가 대문자로 출력된다소문자로 표기하면 그리스 문자가 대문자로 출력된다 ..

문자열에서의 문자열에서의 표기표기 그리스 문자그리스 문자

\alpha\alpha

\beta\beta

\gamma\gamma

\theta\theta

\pi\pi

\sigma\sigma

문자열에서의 표기문자열에서의 표기 그리스 문자그리스 문자

\Phi\Phi

\delta\delta

\Gamma\Gamma

\Lambda\Lambda

\Omega\Omega

\Sigma\Sigma

Page 26: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 26/65

문자열 내에서의 텍스트 형식지정문자열 내에서의 텍스트 형식지정

'\fontname{'\fontname{ 휴 먼 옛 체휴 먼 옛 체 }\fontsize{18}}\fontsize{18}\color{red}\color{red}11 자 유 도 자 유 도 감쇠진동감쇠진동 ''

''\fontname\fontname{Times New Roman{Times New Roman} }

\fontsize\fontsize{15}x({15}x(\it\ittt\rm\rm)=3.5^{-0.5)=3.5^{-0.5\it\itt} t} \rm\rmcos(2cos(2\pi\pi\it\ittt\rm\rm)')'

Page 27: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 27/65

속성 인자를 이용한 텍스트 형식 지정속성 인자를 이용한 텍스트 형식 지정

xlabel, ylabel, title, text 명령어 안에서 문자열 뒤에 옵션인 PropertyName 과 PropertyValue 인자를 추가하여 출력되는 텍스트의 형식을 지정할 수도 있다 .

예 )

PropertyName 은 문자열로 입력되며 , PropertyValue 는 속성값 종류에 따라 수 또는 문자열로 입력한다 .

PropertyName 과 가 능 한 PropertyValue 에 대 한 일 부 예 를 다 음 슬라이드에 표시하였으며 , 나머지는 도움말을 참조한다 .

text(text( x, y,x, y, ‘‘ 텍스트 문자열’텍스트 문자열’ , , XPropertyName, PropertyValueXPropertyName, PropertyValue ))

Page 28: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 28/65

속성 인자의 예속성 인자의 예

PropertyName 과 PropertyValue 인자의 예

속성명속성명 설명설명 가능한 속성값가능한 속성값

RotationRotation 텍 스 트 의 방 위텍 스 트 의 방 위 (orientation)(orientation) 를 를 지정함지정함 스칼라스칼라 ((), ), 초기설정 값초기설정 값 = 0 = 0

FontAngleFontAngle 글자를 이탤릭체로 할 지를 지정함글자를 이탤릭체로 할 지를 지정함 normal normal ((default)default), italic, italic

FontNameFontName 텍스트의 폰트를 지정함텍스트의 폰트를 지정함 시 스 템 에 서 제 공 하 는 시 스 템 에 서 제 공 하 는 폰트명폰트명

FontSizeFontSize 폰트의 크기를 지정함폰트의 크기를 지정함 스칼라스칼라 (( 단위단위 : point) : point) 초기설정 값초기설정 값 =10=10

FontWeightFontWeight 글자의 굵기를 지정함글자의 굵기를 지정함 light, normallight, normal(default)(default), bold, bold

ColorColor 텍스트의 색을 지정텍스트의 색을 지정 색 지정자색 지정자 (5.1(5.1절 참조절 참조 ))

BackgroundColorBackgroundColor 배경색을 지정함배경색을 지정함 (( 직사각형 영역직사각형 영역 )) 색 지정자색 지정자 (5.1(5.1절 참조절 참조 ))

EdgeColorEdgeColor 텍스트를 둘러싼 직사각형 글상자의 텍스트를 둘러싼 직사각형 글상자의 테두리 색을 지정함테두리 색을 지정함

색 지정자색 지정자 (5.1(5.1절 참조절 참조 ))초기설정 값초기설정 값 : : 없음없음

LineWidthLineWidth 텍스트를 둘러싼 직사각형 글상자의 텍스트를 둘러싼 직사각형 글상자의 테두리선의 두께를 지정함테두리선의 두께를 지정함

스칼라스칼라 (( 단위단위 : point): point)초기설정 값초기설정 값 : 0.5: 0.5

Page 29: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 29/65

axis axis 명령어와 명령어와 grid grid 명령어 명령어 (1/2)(1/2)

axis 명령어는 좌표축의 범위와 모양을 변경할 때 사용된다 . MATLAB 은 벡터 x 와 y 의 원소들 중에서 최소값과 최대값에 근거한

경계값에 따라 자동으로 좌표축을 설정하므로 , 때로는 좌표축을 재조종할 필요가 있을 수 있다 .

예 )

% % 그래프 그리기그래프 그리기

x = 0: 0.02: pi/2;x = 0: 0.02: pi/2;

plot(x, tan(x), '-ro')plot(x, tan(x), '-ro')

axis([0 pi/2 0 5])axis([0 pi/2 0 5])

% % 최대 값 에 맞추 어 설 정 된 좌 표 축 의 최대 값 에 맞추 어 설 정 된 좌 표 축 의 재설정재설정

axis([0 pi/2 0 5])axis([0 pi/2 0 5])

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.60

10

20

30

40

50

60

70

80

90

100

0 0.5 1 1.50

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

Page 30: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 30/65

axis 명령어의 가능한 몇 가지 형태

axis([xmin, xmax, ymin, ymax]) axis([xmin, xmax, ymin, ymax])

좌표축 범위를 좌표축 범위를 xmin~xmax, ymin~ymaxxmin~xmax, ymin~ymax 로 지정로 지정axis tightaxis tight 좌표축 범위를 데이터 범위에 맞춤좌표축 범위를 데이터 범위에 맞춤axis equalaxis equal 데이터 단위가 모든 방향으로 같도록 데이터 단위가 모든 방향으로 같도록 aspect ratioaspect ratio 를 를 맞춘다맞춘다 ..

axis normalaxis normal 기본 모우드로 설정한다기본 모우드로 설정한다 ..

grid 명령어grid ongrid on 그래프에 격자선그래프에 격자선 (grid)(grid) 을 추가함을 추가함

grid offgrid off 그 래 프 에 서 격 자 선그 래 프 에 서 격 자 선 (grid)(grid) 을 을 제거함제거함

axis axis 명령어와 명령어와 grid grid 명령어 명령어 (2/2)(2/2)

Page 31: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 31/65

그래프 형식지정 예그래프 형식지정 예

Page 32: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 32/65

단위 원 그리기단위 원 그리기

반지름이 반지름이 11 인 단위 원 그리기인 단위 원 그리기

% % 데이터 생성데이터 생성 ( x=cos ( x=cos , y=sin , y=sin , 0≤ , 0≤ ≤2 ≤2 ) )

theta = linspace(0, 4*pi, 100);theta = linspace(0, 4*pi, 100);

x=cos(theta); y=sin(theta);x=cos(theta); y=sin(theta);

% % 원과 격자선 그리기원과 격자선 그리기

plot(x, y) plot(x, y)

grid ongrid on

% % 좌표축 조정좌표축 조정

axis equalaxis equal

Page 33: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 33/65

그래프 편집기를 이용한 형식지정그래프 편집기를 이용한 형식지정

그림 창에서 그래프 편집기를 이용하여 대화식으로 그래프를 편집할 수 있다그림 창에서 그래프 편집기를 이용하여 대화식으로 그래프를 편집할 수 있다 . . Figure ToolbarFigure Toolbar 의 의 화살표화살표 (Edit Plot)(Edit Plot) 를 클릭하면 편집모드가 되며를 클릭하면 편집모드가 되며 , , 편집대상 주위에 편집대상 주위에 검은 점들이 표시된다검은 점들이 표시된다 . . 편집할 개체를 선택하여 더블 클릭하면편집할 개체를 선택하여 더블 클릭하면 , , 해당 개체의 속성해당 개체의 속성

Figure Figure ToolbarToolbar

을 변경할 수 있는 을 변경할 수 있는 Property EditorProperty Editor 창이 창이 그림 창 밑에 나타난다그림 창 밑에 나타난다 . . 라벨라벨 , , 범례 등은 범례 등은 마우스로 드래깅하여 위치를 바꿀 수 있마우스로 드래깅하여 위치를 바꿀 수 있다다 ..

Page 34: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 34/65

속성 편집창속성 편집창 ((Property EditorProperty Editor))

Property Editor Property Editor 창에서 해당 그래프 요소의 속성을 편집할 수 있다창에서 해당 그래프 요소의 속성을 편집할 수 있다 . Figure . Figure Toolbar Toolbar 우측 끝의 ‘우측 끝의 ‘ Show Edit Tools’ Show Edit Tools’ 버튼을 눌러도 속성편집창이 버튼을 눌러도 속성편집창이 나타난다나타난다 .. Show Edit Tools

Page 35: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 35/65

그래프 편집기를 이용한 형식지정그래프 편집기를 이용한 형식지정

그림 창의 그림 창의 ViewView 메뉴에서 메뉴에서 Plot Edit ToolbarPlot Edit Toolbar 를 체크하면 를 체크하면 Plot Edit ToolbarPlot Edit Toolbar가 메뉴 밑에 표시되어 개체를 수정하거나 새로운 개체를 추가할 수 있다가 메뉴 밑에 표시되어 개체를 수정하거나 새로운 개체를 추가할 수 있다 ..

그림 창의 그림 창의 InsertInsert 메뉴를 이용하여 다양한 그래프 개체들을 추가할 수 있다메뉴를 이용하여 다양한 그래프 개체들을 추가할 수 있다 ..

Plot Edit ToolbarPlot Edit Toolbar

Page 36: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 36/65

로그축 그래프로그축 그래프

semilogsemilogyy(x, (x, yy))xx 축이 선형 눈금축이 선형 눈금이고이고 , , yy 축이 상용로그축이 상용로그 (( 밑이 밑이 10) 10) 눈금눈금인 인 좌표계에서 좌표계에서 xx 에 대한 에 대한 yy 의의 그래프를 그림 그래프를 그림

semilogsemilogxx((xx, y), y)xx 축이 상용로그축이 상용로그 (( 밑이 밑이 10) 10) 눈금눈금이고 이고 yy 축이 선형 눈금축이 선형 눈금인 인 좌표계에서 좌표계에서 xx 에 대한 에 대한 yy 의 그래프를 그림의 그래프를 그림

logog(logog(xx, , yy))두 축이 모두 상용로그두 축이 모두 상용로그 (( 밑이 밑이 10) 10) 눈금눈금인 좌표계에서 인 좌표계에서 xx 에 에 대한 대한 yy 의 그래프를 그림의 그래프를 그림

과학과학 // 공학 응용분야에서는 한 축 또는 두 축 모두 로그 눈금인 그래프가 공학 응용분야에서는 한 축 또는 두 축 모두 로그 눈금인 그래프가 종종 필요하다종종 필요하다 . . 로그 눈금은 넓은 범위의 데이터 값을 나타내는 데 로그 눈금은 넓은 범위의 데이터 값을 나타내는 데 적절하다적절하다 . . 또 주어진 수치 데이터의 특성을 파악하거나 수학식으로 또 주어진 수치 데이터의 특성을 파악하거나 수학식으로 모델링할 때 적합한 식을 확인하는데도 필요하다 모델링할 때 적합한 식을 확인하는데도 필요하다 (8.2.2(8.2.2절 참조절 참조 ))

로그축 그래프를 그리기 위한 로그축 그래프를 그리기 위한 MATLAB MATLAB 명령어명령어 ::

로그축 그래프에서도 로그축 그래프에서도 plot plot 명령어에서와 같이 선 지정자와 속성 이름명령어에서와 같이 선 지정자와 속성 이름 , , 속성 속성 값 등을 옵션으로 추가할 수 있다값 등을 옵션으로 추가할 수 있다 ..

로그축 그래프에서는 로그축 그래프에서는 00 과 음수의 로그가 정의되지 않으므로 과 음수의 로그가 정의되지 않으므로 수 수 00 과 과 음수는 로그 눈금에서 그릴 수 없다음수는 로그 눈금에서 그릴 수 없다 ..

Page 37: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 37/65

로그축 그래프 예로그축 그래프 예

함수 함수 yy==ee(-0.2(-0.2xx+10)+10)

0.1≤0.1≤xx≤60≤60

Page 38: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 38/65

오차막대오차막대 (error bar)(error bar) 를 가진 를 가진 그래프그래프

이론모델에 의한 수치데이터에는 입력 인자의 정확도와 사용된 이론모델에 의한 수치데이터에는 입력 인자의 정확도와 사용된 수학모델의 가정에 따라 오차 또는 불확실성수학모델의 가정에 따라 오차 또는 불확실성 (uncertainty)(uncertainty) 이 존재하이 존재하며며 , , 실험에서 얻은 측정 데이터에도 오차가 포함되어 있다실험에서 얻은 측정 데이터에도 오차가 포함되어 있다 ..

데이터에 포함된 불확실성데이터에 포함된 불확실성 , , 즉 오차를 그래프에 표시하기 위해 즉 오차를 그래프에 표시하기 위해 오차막대오차막대 (error bar)(error bar) 를 이용할 수 있다를 이용할 수 있다 . . 오차막대는 데이터 점이 오차막대는 데이터 점이 나타내는 값과 관련된 오차의 크기를 데이터 점에 짧은 수직선으로 나타내는 값과 관련된 오차의 크기를 데이터 점에 짧은 수직선으로 나타낸 것이다나타낸 것이다 ..

Page 39: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 39/65

errorbarerrorbar 명령어명령어

errorbar(x, y, e)errorbar(x, y, e) : : 그 래 프 의 각 데 이 터 점 에 서 그 래 프 의 각 데 이 터 점 에 서 [y[y--e(i) e(i) y+ y+e(i)e(i)]] 의 의 오차막대를 가지므로 오차막대는 데이터 점에 대해 대칭이다오차막대를 가지므로 오차막대는 데이터 점에 대해 대칭이다 ..

errorbar(x, y, L, U) :errorbar(x, y, L, U) : 각 데이터 점에서 각 데이터 점에서 [y[y--L(i)L(i) y+ y+U(i)U(i)] ] 길이의 오차 길이의 오차 막대를 가지므로 오차막대는 각 데이터 점에 대해 비대칭이다막대를 가지므로 오차막대는 각 데이터 점에 대해 비대칭이다 . . 네 네 벡터의 벡터의 lengthlength 는 모두 동일해야 한다는 모두 동일해야 한다 ..

errorbar(errorbar( x, y,x, y, e e ) )

데 이 터 점 들 의 데 이 터 점 들 의 (x, y)(x, y) 좌 표 좌 표 벡터벡터

각 데이터 점에서의 각 데이터 점에서의 오차 값을 가진 오차 값을 가진 벡터벡터

errorbar(errorbar( x, y,x, y, d, d, uu ))

데 이 터 점 들 의 데 이 터 점 들 의 (x, y)(x, y) 좌 표 좌 표 벡터벡터

각 점에서의 각 점에서의 오차의 하한값을 가진 벡터오차의 하한값을 가진 벡터각 점에서의 각 점에서의 오차의 상한값을 가진 오차의 상한값을 가진 벡터벡터

Page 40: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 40/65

특수 그래프 특수 그래프 (1/4)(1/4)

MATLABMATLAB 은 다 양 한 은 다 양 한 그래프를 생성할 수 있그래프를 생성할 수 있다다 . MATLAB. MATLAB 으로 그릴 으로 그릴 수 있 는 그 래 프 들 중 수 있 는 그 래 프 들 중 일부를 알아보자일부를 알아보자 . .

더 자세한 정보는 도움말 더 자세한 정보는 도움말 창의 창의 GraphicsGraphics 항목에서 항목에서 ““ Basic Plots and …Basic Plots and …” ” 또 는 “또 는 “ Specialized Specialized PlottingPlotting”” 을 참조한다을 참조한다 ..

Page 41: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 41/65

그래프 종류그래프 종류 그래프 예그래프 예 프로그램프로그램

세로 막대 그래프세로 막대 그래프(Vertical Bar Plot)(Vertical Bar Plot)

함수 형식함수 형식 : : bar(x, y)bar(x, y)

x=[1988:1994];

y=[8 12 20 22 18 24 27];

bar(x, y, 'r') % x 위 치 에 y 크기

xlabel('Year')

ylabel('Sales (Millions)')

가로 막대 그래프가로 막대 그래프(Horizontal Bar Plot)(Horizontal Bar Plot)

함 수 형 식함 수 형 식 :: barh(x, barh(x, y)y)

x=[1988:1994];

y=[8 12 20 22 18 24 27];

barh(x, y) % x 위치에 y 크기

xlabel('Sales (Millions)')

ylabel('Year')

특수 그래프 특수 그래프 (2/4)(2/4)

Page 42: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 42/65

그래프 종류그래프 종류 그래프 예그래프 예 프로그램프로그램

계단 그래프계단 그래프(Stairs Plot)(Stairs Plot)

함수 형식함수 형식 : : stairs(x, y)stairs(x, y)

x=[1988:1994];x=[1988:1994];

y=[8 12 20 22 18 24 27];y=[8 12 20 22 18 24 27];

stairsstairs(x, y)(x, y)

xlabel(xlabel('Year''Year'))

ylabel(ylabel('Sales (Millions)''Sales (Millions)'))

스템 그래프스템 그래프(Stem Plot)

함수 형식함수 형식 :: stem(x, y)stem(x, y)

x=[1988:1994];x=[1988:1994];

y=[8 12 20 22 18 24 27];y=[8 12 20 22 18 24 27];

stemstem(x, y)(x, y)

xlabel(xlabel('Sales (Millions)''Sales (Millions)'))

ylabel(ylabel('Year''Year'))

특수 그래프 특수 그래프 (3/4)(3/4)

Page 43: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 43/65

파이 그래프파이 그래프(Pie Plot)(Pie Plot)

함수 형식함수 형식 :: pie(x)pie(x)

grd=[11 18 26 9 5];grd=[11 18 26 9 5];

pie(grd)pie(grd)

title(title('Class Grades''Class Grades'))

성 적성 적 AA BB CC DD EE

학생 수학생 수 1111 1818 2626 99 55

파이 차트파이 차트 (pie chart)(pie chart) 는 서로 상관관계가 있는 어떤 양들의 상대적인 는 서로 상관관계가 있는 어떤 양들의 상대적인 크기를 시각화하는 데 유용하다크기를 시각화하는 데 유용하다 . . 예를 들어예를 들어 , , 어떤 학급 학생들의 성적 어떤 학급 학생들의 성적 분포를 파이 차트로 나타낼 수 있다분포를 파이 차트로 나타낼 수 있다 ..

MATLABMATLAB 이 자동으로 이 자동으로 색을 다르게 그린다색을 다르게 그린다 . . 성 적성 적 (A, B, …)(A, B, …) 은 은 그 래 프 편 집 기 로 그 래 프 편 집 기 로 추가하였다추가하였다 ..

특수 그래프 특수 그래프 (4/4)(4/4)

Page 44: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 44/65

히스토그램은 주어진 데이터의 전체 범위를 작은 구간히스토그램은 주어진 데이터의 전체 범위를 작은 구간 (( 계급계급 )) 들로 나누고 들로 나누고 각 구간에 속하는 데이터의 개수각 구간에 속하는 데이터의 개수 (( 빈도수빈도수 )) 를 세로막대로 나타내어 를 세로막대로 나타내어 데이터의 크기별 분포데이터의 크기별 분포를 보여준다를 보여준다 . . 히스토그램에서 막대의 폭은 해당 히스토그램에서 막대의 폭은 해당 구간의 폭과 같고 막대의 높이는 각 구간에 속하는 데이터 개수구간의 폭과 같고 막대의 높이는 각 구간에 속하는 데이터 개수 ((빈도수빈도수 )) 에 에 해당된다해당된다 . .

히스토그램은 히스토그램은 hist hist 명령으로 생성하며명령으로 생성하며 , , 구간 폭을 등간격 또는 서로 다른 구간 폭을 등간격 또는 서로 다른 간격으로 그릴 수 있고간격으로 그릴 수 있고 , , 각 구간각 구간 (( 계급계급 )) 의 중앙 값을 지정할 수도 있다의 중앙 값을 지정할 수도 있다 ..histhist(( y )y ) yy 는 데이터 값 벡터는 데이터 값 벡터 . MATLAB. MATLAB 이 이 yy 의 데이터 값 범위를 의 데이터 값 범위를

10 10 개의 등간격 구간개의 등간격 구간으로 나눈 뒤으로 나눈 뒤 , , 각 구간의 빈도수를 각 구간의 빈도수를 막대그래프로 표시한다막대그래프로 표시한다 ..

nbins(nbins( 스칼라스칼라 )) 로 구간의 수를 지정할 수 있다로 구간의 수를 지정할 수 있다 . MATLAB. MATLAB 이 이 nbinsnbins 개의 개의 등간격 구간등간격 구간을 만든다을 만든다 ..

histhist(( y,y, nbinsnbins ))

histhist(( y,y, xx )) xx 는 각 구간의 중앙 값들을 원소로 갖는 벡터는 각 구간의 중앙 값들을 원소로 갖는 벡터 이다이다 . . 각 각 구간의 경계는 두 중앙 값 사이의 중간 값이다구간의 경계는 두 중앙 값 사이의 중간 값이다 ..

[n, [n, xx]=]=histhist(( yy ) )[n, [n, xx]=]=histhist(( y, y, nbinsnbins ))n=n=hist hist (( y, y, xx ))

nn 은 각 구간의 은 각 구간의 빈도수빈도수 (( 데이터 개수데이터 개수 ) ) 벡터벡터 , , xx 는 는 구간의 중앙 값구간의 중앙 값 을 갖는 벡터이다을 갖는 벡터이다 . . 이 형태에서는 이 형태에서는 그래프가 그려지지 않으므로 그래프가 그려지지 않으므로 bar(x, n)bar(x, n)

히스토그램히스토그램 (Histogram)(Histogram) 의 생성의 생성

Page 45: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 45/65

오정동의 오정동의 55 월 낮 최고기온월 낮 최고기온 ((C)C) 에 대한 다음 데이터로 히스토그램을 에 대한 다음 데이터로 히스토그램을 그려라그려라 ..

12 14 15 14 17 18 19 21 20 21 23 22 29 30 2912 14 15 14 17 18 19 21 20 21 23 22 29 30 29

28 27 26 24 23 22 20 18 17 18 19 20 21 22 2428 27 26 24 23 22 20 18 17 18 19 20 21 22 24

데 이 터 범 위데 이 터 범 위 (12~30)(12~30) 를 를 1010 개 의 개 의 등간격으로 나누면등간격으로 나누면 , , 구간 크기는 구간 크기는 1.81.8이 된다이 된다 ..

막대의 색깔은 그래프 편집기를 이용하거나 막대의 색깔은 그래프 편집기를 이용하거나 다음 명령어를 사용한다다음 명령어를 사용한다 ..set(set(findobj(gca,findobj(gca,'Type''Type', , 'patch''patch')), , 'FaceColor''FaceColor', , 'g''g'))

히스토그램 예제히스토그램 예제 (1/4)(1/4)

Page 46: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 46/65

구간구간(( 계급계급 ))

12~12~13.813.8

13.8~13.8~15.615.6

15.6~15.6~17.417.4

17.4~17.4~19.219.2

19.2~19.2~21.021.0

21.0~21.0~22.822.8

22.8~22.8~24.624.6

24.6~24.6~26.426.4

26.4~26.4~28.228.2

28.2~28.2~3030

중 앙 값중 앙 값 xx

12.912.9 14.714.7 16.516.5 18.318.3 20.120.1 21.921.9 23.723.7 25.525.5 27.327.3 29.129.1

도수도수 nn 11 33 22 55 66 33 44 11 22 33

histhist 명령어에 출력인자 명령어에 출력인자 n, xn, x를 옵션으로 사용하면를 옵션으로 사용하면 , , 각 각 구간에 속하는 데이터 개수구간에 속하는 데이터 개수(( 빈도수빈도수 )) 와 구간의 중앙값을 와 구간의 중앙값을 얻을 수얻을 수 있다있다 . . 그러나 이 경우 그러나 이 경우 그래프는 생성되지 않으므로그래프는 생성되지 않으므로 , , bar(x, n)bar(x, n) 명령어를 사용하다명령어를 사용하다 ..

히스토그램 예제히스토그램 예제 (2/4)(2/4)

Page 47: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 47/65

구간구간 ((계급계급 ))

12≤ y ≤1812≤ y ≤18 18< y ≤2418< y ≤24 24 < y ≤ 3024 < y ≤ 30

중앙값중앙값 xx 1515 2121 2727

도수도수 nn 99 1515 66

데이터 범위를 세 단계로 지정하고자 한다면데이터 범위를 세 단계로 지정하고자 한다면 , , hist(y,3)hist(y,3) 을 실행시킨을 실행시킨다다 ..

12 14 15 14 17 18 19 2112 14 15 14 17 18 19 2120 21 23 22 29 30 29 2820 21 23 22 29 30 29 2827 26 24 23 22 20 18 1727 26 24 23 22 20 18 1718 19 20 21 22 2418 19 20 21 22 24

히스토그램 예제히스토그램 예제 (3/4)(3/4)

Page 48: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 48/65

중앙값중앙값 xx 1414 2020 2424 2828

구간구간 ((계급계급 ))

12≤y≤1712≤y≤17 17<y≤2217<y≤22 22<y≤2622<y≤26 26<y≤3026<y≤30

도수도수 nn 66 1414 55 55

구 간구 간 (( 계급계급 )) 의 중앙값 들 을 원 소 로 가 진 벡 터 의 중앙값 들 을 원 소 로 가 진 벡 터 xx 를 이 용 하 여 를 이 용 하 여 히스토그램을 그리려면히스토그램을 그리려면 , , hist(y,x)hist(y,x) 를 실행시킨다를 실행시킨다 ..

12 14 15 14 17 12 14 15 14 17 1818 19 2119 2120 2120 21 23 23 2222 2929 30 29 2830 29 282727 26 24 23 26 24 23 22 20 18 22 20 18 17171818 19 20 21 2219 20 21 22 24 24

히스토그램 예제히스토그램 예제 (4/4)(4/4)

Page 49: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 49/65

randnrandn 과 과 hist hist 명령어의 사용 예명령어의 사용 예

>> x = >> x = --2:0.5:2;2:0.5:2;x = x = --2.0 2.0 --1.5 1.5 --1.0 1.0 --0.5 0 0.5 1.0 1.5 2.00.5 0 0.5 1.0 1.5 2.0>> n=length(x)>> n=length(x)n = n =

99>> y=randn(1000,1); hist(y, x)>> y=randn(1000,1); hist(y, x) -5 -4 -3 -2 -1 0 1 2 3 4

0

50

100

150

200

250Histogram

x

y

-5 -4 -3 -2 -1 0 1 2 3 4 50

50

100

150

200

250

300

350

400Histogram of random numbers

x

y

>> >> x = x = --4:0.1:4; 4:0.1:4; >> n=length(x)>> n=length(x)n = n =

8181 >> y=randn(10000, 1);>> y=randn(10000, 1);>> hist(y,x)>> hist(y,x)

Page 50: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 50/65

-0.2 0 0.2 0.4 0.6 0.8 1 1.20

100

200

300

400

500

600

xy

p = randperm(n)p = randperm(n) : 1 에서 n까지의 정수들의 무작위 순열벡터를 돌려준다 .

>> x=randperm(6)>> x=randperm(6) x =x = 1 5 2 4 3 61 5 2 4 3 6

rand rand 명령어와 명령어와 hist hist 명령어의 명령어의 사용 예사용 예

>> x = 0:0.1:1; >> x = 0:0.1:1; >> >> length(x)length(x)ans = ans =

1111>> y=rand(5000,1); >> y=rand(5000,1); >> hist(y,x)>> hist(y,x)

>> rand(3)>> rand(3)ans =ans = 0.3455 0.4437 0.56940.3455 0.4437 0.5694 0.5405 0.6910 0.45010.5405 0.6910 0.4501 0.0744 0.0659 0.01780.0744 0.0659 0.0178

Page 51: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 51/65

극좌표 그래프극좌표 그래프

극좌표는 평면 상의 한 점의 위치를 각도 극좌표는 평면 상의 한 점의 위치를 각도 와 이 점까지의 반경와 이 점까지의 반경 (( 거리거리 ) ) rr 로 로 정의한다정의한다 . . 함수를 극좌표로 그리기 위해서는함수를 극좌표로 그리기 위해서는 polar polar 명령어를 사용한다명령어를 사용한다 ..

polarpolar 명령어의 형식명령어의 형식

polar(polar(thetatheta, , radiusradius, , 'line specifiers''line specifiers'))

데이터 점들의 좌표 벡터데이터 점들의 좌표 벡터

선과 선과 markermarker 의 종류와 색 정의의 종류와 색 정의 . . 예예 ) ‘:r’, ‘-) ‘:r’, ‘-g’g’

r

주어진 정의역에 대한 함수 주어진 정의역에 대한 함수 rr ==ff(( )) 의 극좌표 그래프 그리기의 극좌표 그래프 그리기 주어진 주어진 값의 범위에 대해 벡터를 생성한다값의 범위에 대해 벡터를 생성한다 .. 원소별 연산을 이용하여 원소별 연산을 이용하여 의 각 원소에 대해 의 각 원소에 대해 rr == ff(( )) 값을 계산하여 값을 계산하여 rr

벡터를 생성한다벡터를 생성한다 . . 생성된 두 벡터 생성된 두 벡터 , , rr 을 을 polarpolar 명령어의 입력인자로 하여 그래프를 명령어의 입력인자로 하여 그래프를

그린다그린다 ..

Page 52: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 52/65

극좌표 그래프 예극좌표 그래프 예

00≤≤ ≤2≤2 에 대해 에 대해 rr =3cos=3cos22(0.5(0.5 )+)+ 의 극좌표 그래프를 그려라의 극좌표 그래프를 그려라 ..

t=linspace(0, 2*pi, 200);t=linspace(0, 2*pi, 200);r=3*cos(0.5*t).^2 + t;r=3*cos(0.5*t).^2 + t;polar(t, r)polar(t, r)

t = 0:.01:2*pi;t = 0:.01:2*pi;polar( t, sin(2*t).*cos(2*t), polar( t, sin(2*t).*cos(2*t), '--'--r‘ r‘ ))

0≤0≤tt≤2≤2 에 대 해 에 대 해 rr =sin(2t)cos=sin(2t)cos

(2(2tt )) 의 그래프를 그려라의 그래프를 그려라 ..

Page 53: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 53/65

같은 페이지에 여러 그래프 그리기같은 페이지에 여러 그래프 그리기 (1/2)(1/2)

subplotsubplot 명령어를 이용하여 동일한 페이지에 여러 개의 그래프를 그릴 명령어를 이용하여 동일한 페이지에 여러 개의 그래프를 그릴 수 있다수 있다 ..

SubplotSubplot 명령어의 형식명령어의 형식

subsubplot(plot(mm, , nn, , pp))

그 림 창 을 그 림 창 을 m×nm×n 의 작 은 사 각 형 그 래 프 의 작 은 사 각 형 그 래 프 영역으로 나누고영역으로 나누고 , , 각 그래프 영역에 대해 첫 각 그래프 영역에 대해 첫 줄부 터 마 지 막 줄까지 왼쪽에 서 오른쪽 줄부 터 마 지 막 줄까지 왼쪽에 서 오른쪽 순서대로 차례로 일련번호를 부여한 후순서대로 차례로 일련번호를 부여한 후 , , p p 번째 영역을 그래프 출력 대상 영역으로 번째 영역을 그래프 출력 대상 영역으로 만든다만든다 . . 즉즉 , , 이 명 령 어 뒤에 오는 이 명 령 어 뒤에 오는 plot plot 명령어명령어와 와 형식지정 명령어는 형식지정 명령어는 p p 번째 영역에 번째 영역에 적용된다적용된다 ..

예예 ) ) subplot(3, 2, 1)subplot(3, 2, 1) 은 우측 그림과 같이 세 은 우측 그림과 같이 세 줄과 줄과 두 칸으로 배열된 두 칸으로 배열된 66 개의 그래프 개의 그래프 영역을 만영역을 만 든 후든 후 , , 첫 번째 그래프 첫 번째 그래프 영역을 활성화한다영역을 활성화한다 . .

(3,2,(3,2,11)) (3,2,(3,2,22))

(3,2,(3,2,33)) (3,2,(3,2,44))

(3,2,(3,2,55)) (3,2,(3,2,66))

Page 54: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 54/65

subplotsubplot 명령어 사용 예명령어 사용 예

같은 페이지에 여러 그래프 그리기같은 페이지에 여러 그래프 그리기 (2/2)(2/2)

Page 55: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 55/65

여러 개의 그림 창여러 개의 그림 창 (Figure Window) (Figure Window) 열기열기

plotplot 과 같은 그래프 생성 명령어가 실행되면과 같은 그래프 생성 명령어가 실행되면 , , 그림 창이 새로 열리거나 그림 창이 새로 열리거나 이미 열려있는 그림 창의 그래프를 대체한다이미 열려있는 그림 창의 그래프를 대체한다 . . 이때 그림 창의 제목이때 그림 창의 제목 ((Figure Figure window titlewindow title)) 은 항상 “은 항상 “ Figure 1Figure 1”” 이 된다이 된다 . .

기존의 그림 창을 그대로 두고 추가로 그림 창을 열려면기존의 그림 창을 그대로 두고 추가로 그림 창을 열려면 , , figurefigure 명령어를 명령어를 사용한다사용한다 . . figurefigure 명령어가 입력될 때마다 새 그림 창이 만들어지며명령어가 입력될 때마다 새 그림 창이 만들어지며 , , 그림 그림 창 제목은 생성 순서에 따라 창 제목은 생성 순서에 따라 Figure 2, Figure 3Figure 2, Figure 3, … , … 등이 된다등이 된다 . .

그래프 생성 명령어는 활성창그래프 생성 명령어는 활성창 ((active windowactive window))이나 현재창이나 현재창 ((current windowcurrent window)) 으로 불리는 가장 으로 불리는 가장 최근에 열린 그림 창에 새 그래프를 출력한다최근에 열린 그림 창에 새 그래프를 출력한다 ..

figure figure 명령어의 형식명령어의 형식

Figure window titleFigure window title

figurefigure

figurefigure((nn))

새로운 그림 창을 연다새로운 그림 창을 연다 . . 창 창 제 목 의 번 호 는 생 성 된 제 목 의 번 호 는 생 성 된 순서대로 일련번호가 붙여진순서대로 일련번호가 붙여진다다 ..창 제목 번호가 창 제목 번호가 nn 인 새로운 인 새로운 그림 창을 열거나그림 창을 열거나 (( 신규 생성신규 생성 ), ), 활성창으로 만든다활성창으로 만든다 (( 특정 창 특정 창 지정지정 ). ).

Page 56: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 56/65

figurefigure 명령어를 이용한 여러 그림 창 열기명령어를 이용한 여러 그림 창 열기

여러 개의 그림 창 열기 예제여러 개의 그림 창 열기 예제 (1/3)(1/3)

Page 57: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 57/65

figure(n)figure(n) 명령어를 이용한 여러 그림 창 열기명령어를 이용한 여러 그림 창 열기

스크립트 파일로 여러 그림 창에 스크립트 파일로 여러 그림 창에 그래프를 출력하는 경우그래프를 출력하는 경우 , , ffigure(n)igure(n) 명령어 대신 명령어 대신 figurefigure 명령어를 여러 명령어를 여러 번 사용하면번 사용하면 , , 스크립트 파일을 스크립트 파일을 실행할 때마다 새 그림 창을 계속 실행할 때마다 새 그림 창을 계속 만들게 되므로 주의가 필요하다만들게 되므로 주의가 필요하다 ..

여러 개의 그림 창 열기 예제여러 개의 그림 창 열기 예제 (2/3)(2/3)

Page 58: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 58/65

그림 창은 그림 창은 close close 명령어로 닫을 수 있다명령어로 닫을 수 있다 . . 명령어 형식은 다음과 같다명령어 형식은 다음과 같다 ..

closeclose 현재현재 그림 창을 닫는다 그림 창을 닫는다 ..

closeclose((nn)) nn 번째 그림 창을 닫는다번째 그림 창을 닫는다 ..

close allclose all 열린 모든열린 모든 그림 창을 닫는다 그림 창을 닫는다 ..

그림 창의 속성을 이용하여 제목을 그림 창의 속성을 이용하여 제목을 변경하거나 번호를 표시하지 않을 수도 변경하거나 번호를 표시하지 않을 수도 있다있다 ..

여러 개의 그림 창 열기 예제여러 개의 그림 창 열기 예제 (3/3)(3/3)

Page 59: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 59/65

그림의 피스톤그림의 피스톤 -- 커넥팅로드커넥팅로드 -- 크랭크 장치에서크랭크 장치에서 , , 크랭크가 크랭크가 500 rpm500 rpm 의 의 일정한 속도로 회전하고 있다일정한 속도로 회전하고 있다 .. 크랭크 크랭크 11 회전에 대해회전에 대해 ,, 피스톤의 위치와 피스톤의 위치와 속도속도 , , 가속도를 계산하고 각각의 그래프를 그려라가속도를 계산하고 각각의 그래프를 그려라 .. 단단 , , 세 그래프는 같은 세 그래프는 같은 페이지에페이지에 출력출력하며하며 , , tt =0=0 에서 에서 =0=0 로 한다로 한다 ..

크랭크의 각속도 크랭크의 각속도 == 일정 일정 ⇒⇒ =0=0 ⇒ ⇒ 크랭크의 크랭크의 각도각도

⇒ ⇒ dd11 =cos=cos , , hh ==rr sinsin ⇒ ⇒

⇒ ⇒ 피스톤의 위치피스톤의 위치

⇒ ⇒ 피스톤의 속도피스톤의 속도

⇒ ⇒ 피스톤의 가속도피스톤의 가속도

2 2 2 2 22 sind c h c r

2 2 21 2 cos sinx d d r c r

2

2 2 2

sin 2sin

2 sin

rv x r

c r

( )t

22 2 2 2 2 2

23/22 2 2

4 cos 2 sin sin 2cos

4 sin

r c r ra x r

c r

응용 예제 응용 예제 5.2 5.2 피스톤피스톤 -- 크랭크 장치크랭크 장치 (1/3)(1/3)

Page 60: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 60/65

% % 응용예제 응용예제 5.2 5.2 해석 프로그램해석 프로그램THDrpm=500; r=0.12; c=0.25; THDrpm=500; r=0.12; c=0.25; % % 각속도각속도 , r, c, r, c 를 정의함를 정의함THD=THDrpm*2*pi/60; THD=THDrpm*2*pi/60; % % 각속도 단위를 각속도 단위를 rad/srad/s 로 변환로 변환tf=2*pi/THD; tf=2*pi/THD; % % 크랭크 크랭크 11 회전에 걸리는 시간 계산회전에 걸리는 시간 계산t=linspace(0,tf,200); t=linspace(0,tf,200); % 200% 200 개의 원소를 갖는 시간벡터 생성개의 원소를 갖는 시간벡터 생성TH=THD*t; TH=THD*t; % t% t 에 대해 에 대해 를 계산함 를 계산함d2s=c^2-r^2*sin(TH).^2; d2s=c^2-r^2*sin(TH).^2; % % 에 대해 에 대해 dd22

22 을 계산함을 계산함

x=r*cos(TH)+sqrt(d2s); x=r*cos(TH)+sqrt(d2s); % % 에 대한 에 대한 xx 계산계산xd=-r*THD*sin(TH)-(r^2*THD*sin(2*TH))./(2*sqrt(d2s)); xd=-r*THD*sin(TH)-(r^2*THD*sin(2*TH))./(2*sqrt(d2s)); % % 에 대한 속도 계산에 대한 속도 계산xdd=-r*THD^2*cos(TH)-(4*r^2*THD^2*cos(2*TH).*d2s+xdd=-r*THD^2*cos(TH)-(4*r^2*THD^2*cos(2*TH).*d2s+

(r^2*sin(2*TH)*THD).^2)./(4*d2s.^(3/2)); (r^2*sin(2*TH)*THD).^2)./(4*d2s.^(3/2)); % % 에 대한 속도 계산에 대한 속도 계산

% % 위치위치 , , 속도속도 , , 가속도 그래프를 한 페이지에 그리기가속도 그래프를 한 페이지에 그리기subplot(3,1,1), plot(t, x), grid, xlabel(subplot(3,1,1), plot(t, x), grid, xlabel(‘‘ 시간 시간 (s)'(s)'), ylabel(), ylabel(‘‘\color{red}\color{red} 위치 위치 (m)'(m)'))

title(title('\bf\fontsize{12}'\bf\fontsize{12}피스톤피스톤 --커넥팅로드커넥팅로드 -- 크랭크 장치의 위치크랭크 장치의 위치 , , 속도속도 , , 가속도 변가속도 변화화 ''))

subplot(3,1,2), plot(t, xd), grid, xlabel(subplot(3,1,2), plot(t, xd), grid, xlabel('' 시간 시간 (s)'(s)'), ylabel(), ylabel(‘‘\color{magenta}\color{magenta} 속도 속도 (m/s)'(m/s)'))

subplot(3,1,3), plot(t,xdd), grid, xlabel(subplot(3,1,3), plot(t,xdd), grid, xlabel('' 시간 시간 (s)'(s)'), ylabel(), ylabel(‘\color{blue}‘\color{blue} 가속도 가속도 (m/s^2)'(m/s^2)'))

응용 예제 응용 예제 5.2 5.2 해석 프로그램해석 프로그램 (2/3)(2/3)

Page 61: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 61/65

피 스 톤 의 피 스 톤 의 운동방향이 바뀌는 운동방향이 바뀌는 피스톤 행 정 의 양 피스톤 행 정 의 양 끝점에서 속도가 끝점에서 속도가 00임을 알 수 있다임을 알 수 있다 ..

가속도는 피스톤이 가속도는 피스톤이 오른쪽 끝에 있을 때 오른쪽 끝에 있을 때 최대최대 (( 왼쪽방향왼쪽방향 ))이다이다 ..

응용 예제 응용 예제 5.2 5.2 결과 그래프결과 그래프 (3/3)(3/3)

Page 62: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 62/65

쿨롱 법칙에 의해 전하쿨롱 법칙에 의해 전하 (charge)(charge) 한 개에 의한 한 점에서의 한 개에 의한 한 점에서의 전기장전기장 (electric field)(electric field) 벡터 벡터 EE 의 크기 의 크기 EE 는 다음과 같다는 다음과 같다 ..

응용 예제 응용 예제 5.3 5.3 전기 쌍극자전기 쌍극자 (Dipole)(Dipole) (1/3)(1/3)

+ qq

rr EE

위에서 위에서 00 는 유전상수는 유전상수 , , qq 는 전하의 크기는 전하의 크기 , , rr 은 전하와 점 사이의 거리이다은 전하와 점 사이의 거리이다 . .

EE 의 방향은 전하와 점을 잇는 직선 방향이며의 방향은 전하와 점을 잇는 직선 방향이며 , , qq 가 양이면 가 양이면 qq 로부터 로부터 바깥쪽을 향하고바깥쪽을 향하고 , , qq 가 음이면 가 음이면 qq 쪽으로 향한다쪽으로 향한다 . . 동일한 크기의 양전하와 동일한 크기의 양전하와 음전하가 어떤 거리만큼 떨어져 있을 때음전하가 어떤 거리만큼 떨어져 있을 때 , , 전기 쌍극자전기 쌍극자 (electric dipole)(electric dipole) 가 가 형성된다형성된다 . . 임의의 점에서의 전기장 임의의 점에서의 전기장 EE 는 각 전하로 인한 전기장을 는 각 전하로 인한 전기장을 중첩시켜 구할 수 있다중첩시켜 구할 수 있다 . .

12 2 202

0

1, 8.8541878 10 C / N m

4

qE

r

qq=12 10ⅹ=12 10ⅹ --99 C C 인 전기 쌍극자가 우측 그림과 인 전기 쌍극자가 우측 그림과 같이 형성되어 있다같이 형성되어 있다 . . x x = = --5 cm5 cm 에서 에서 xx=5 =5 cmcm 까지 까지 xx 축 상에서의 전기장의 크기를 축 상에서의 전기장의 크기를 구하고 그래프를 그려라구하고 그래프를 그려라 ..

Page 63: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 63/65

xx 축의 임의의 점 축의 임의의 점 ((xx, 0), 0) 에서의 전기장 에서의 전기장 EE 는 두 전하로 인한 전기장 는 두 전하로 인한 전기장 벡터의 합벡터의 합 , , EE = = EE-- + + EE+ + 과 같다과 같다 . . 전기장의 크기는 벡터 전기장의 크기는 벡터 EE 의 길이이다의 길이이다 ..

문제 풀이 단계문제 풀이 단계1. 1. xx 축 상의 점들의 좌표벡터 축 상의 점들의 좌표벡터 xx 를 생성한다를 생성한다 ..

2. 2. xx 축 의 각 점 과 두 전 하 사 이 의 거 리 를 축 의 각 점 과 두 전 하 사 이 의 거 리 를 계산한다계산한다 ..

rrminminrrplusplus

2 22 20.01 0.02 , 0.02 0.02min plusr x r x x

3. 3. 각 전하와 각 전하와 xx 축의 한 점을 잇는 방향의 단위벡터를 축의 한 점을 잇는 방향의 단위벡터를 구한다구한다 .. ,

10.02

10.02 0.00 20. 2 plusUV

plusminUV

min

xr

xr

ie i ej j

4. 4. 쿨롱법칙을 이용하여 각 점에서의 벡터 쿨롱법칙을 이용하여 각 점에서의 벡터 E_E_ 와 와 E+E+ 의 크기를 의 크기를 계산한다계산한다 ..

2min0 0

2,

1

44

1 plusMAG

mim nMAG

in

q qE

rE

r

5. 5. 크기와 해당 단위벡터를 곱하여 얻은 두 벡터를 크기와 해당 단위벡터를 곱하여 얻은 두 벡터를 E_E_ 와 와 E+E+ 를 더하여 벡터 를 더하여 벡터 EE 를 를 구한 후구한 후 , , 벡터 벡터 EE 의 크기의 크기 (( 길이길이 ) ) EE 를 계산하고 를 계산하고 xx 에 대해 그래프를 에 대해 그래프를 그린다그린다 ..

응용 예제 응용 예제 5.3 5.3 풀이풀이 (2/3)(2/3)

Page 64: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 64/65

해 석 프로그램q=12eq=12e--9; epsilon0=8.8541878e9; epsilon0=8.8541878e--12;12;x=[x=[--0.05:0.001:0.05]';0.05:0.001:0.05]';r_minS=(0.02r_minS=(0.02--x).^2+0.02^2; r_min=sqrt(r_minS);x).^2+0.02^2; r_min=sqrt(r_minS);r_plusS=(x+0.02).^2+0.02^2; r_plus=sqrt(r_plusS);r_plusS=(x+0.02).^2+0.02^2; r_plus=sqrt(r_plusS);e_minUV=[((0.02e_minUV=[((0.02--x)./r_min), (x)./r_min), (--0.02./r_min)];0.02./r_min)];e_plusUV=[((x+0.02)./r_plus), (0.02./r_plus)];e_plusUV=[((x+0.02)./r_plus), (0.02./r_plus)];

E_minMAGE_minMAG=(q/(4*pi*epsilon0))./r_minS;=(q/(4*pi*epsilon0))./r_minS;E_plusMAGE_plusMAG=(q/(4*pi*epsilon0))./r_plusS;=(q/(4*pi*epsilon0))./r_plusS;E_minE_min=[E_minMAG.*e_minUV(:,1), E_minMAG.*e_minUV(:,2)];=[E_minMAG.*e_minUV(:,1), E_minMAG.*e_minUV(:,2)];E_plusE_plus=[E_plusMAG.*e_plusUV(:,1), E_plusMAG.*e_plusUV(:,2)];=[E_plusMAG.*e_plusUV(:,1), E_plusMAG.*e_plusUV(:,2)];

EE==E_minE_min + + E_plusE_plus; ; E_MAGE_MAG=sqrt(E(:,1).^2+E(:,2).^2);=sqrt(E(:,1).^2+E(:,2).^2);

plot(x, plot(x, E_MAGE_MAG, , 'k''k', , 'LineWidth''LineWidth', 1), 1)xlabel(xlabel(‘x‘x 축에서의 위치 축에서의 위치 (m)'(m)', , 'FontSize''FontSize', 12) , 12) ylabel(ylabel('' 전기장의 크기 전기장의 크기 (N/C)'(N/C)', , 'FontSize''FontSize', 12), 12)title(title(‘\bf\fontsize{12}\color{blue}‘\bf\fontsize{12}\color{blue} 전기 쌍극자에 의한 전기장전기 쌍극자에 의한 전기장 '', , 'FontSize''FontSize', , 12)12)

응용 예제 응용 예제 5.3 5.3 풀이풀이 (3/3)(3/3)

Page 65: MATLAB 개요와 응용 5 장   2 차원 그래프

MATLAB HCH

5 장 2 차원 그래프 65/65

55 장 강의록 끝장 강의록 끝

55 장 끝장 끝