• 검색 결과가 없습니다.

그래프 그리기

N/A
N/A
Protected

Academic year: 2022

Share "그래프 그리기"

Copied!
15
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

매틀랩입문 4차시

그래프 그리기

매틀랩에서 가장 중요한 그래프 함수는 PLOT( )이다. 이를 중점적으로 살펴보고 다른 것은 잠깐 한번 해보거나 지나간다.

1. plot(x,y);

(x, y)가 쌍(또는 짝)으로 된 자료 묶음을 가지고 (x, y)에 해당되는 점을 이어간다. 자료가 떨어져 있으면 '꺽은선' 그래프가 된다. 따라서 x, y 자료 수는 같아야 한다.

x=[1, 2, 5, 8, 10]; y=[2 5 8 7 13];

plot(x,y)

plot(x,y,'o')

(x, y) 좌표(위치)에 표식자(symbols)를 넣으려면 '표식자 첫 영문자'를 넣으면 된다.

예를 들면 영소문자 'o'는 동그라미를 넣는다.

선 표시는 '-' 실선, ':' 점선 등이 있다.

마지막으로 색깔 표시는 영문자 첫 자를 사용한다. 주의 할 것은 'k'는 검은색(기본설정)이다.

0 5 10

0 5 10 15

0 5 10

0 5 10 15

0 5 10

0 5 10 15

0 5 10

0 5 10 15

(2)

선 종류와 표식자(symbols), 색깔은 다음을 따른다.

b blue . point - solid g green o circle : dotted r red x x-mark -. dashdot c cyan + plus -- dashed m magenta * star

(none) no line

y yellow s square

k black d diamond v triangle (down) ^ triangle (up) < triangle (left) > triangle (right) p pentagram h hexagram

plot(x, y1, x, y2,x, y3)

한 화면에 여러 자료의 그래프를 같이 그린다.

>> x=1:10;

>> y=[58.5 63.8 64.2 67.3 71.5 88.3 90.1 90.6 89.5 90.4];

>> plot(x,y,':ok',x,y*2,'--xr',x,0.5*y,'-b')

1 2 3 4 5 6 7 8 9 10

20 40 60 80 100 120 140 160 180 200

(3)

축 조정과 설명 넣기

>> axis([0,11,0,200])

>> legend(': 원래',': 2배',': 0.5배') % 그래프 순서대로 입출력, 글상자는 마우스로 위치 변경

>> text(7,120,'e^{\alpha}*log_{e}\beta 문자연습')

>> title('그래표 꾸미기 연습')

>> xlabel('x 축은 1에서 10까지')

>> xlabel('x 축은 1에서 10까지')

>> ylabel('y 축은 거래금액?')

그래프 꾸미기는 Fig. 메뉴에서 쉽게 할 수 있다.

1 2 3 4 5 6 7 8 9 10

20 40 60 80 100 120 140 160 180 200

x 축 은 1에 서 10까 지

y 축은거래금액?

그 래 표 꾸 미 기 연 습

e*loge 문 자 연 습 : 원 래

: 2배 : 0.5배

(4)

Subplot(행, 열, 번호)

한 화면의 여러 개의 Plot 그래프를 그린다.

>> x=0:pi/32:2*pi;

>> subplot(1,2,1)

>> plot(x,sin(x))

>> subplot(1,2,2)

>> plot(x,cos(x))

x 자료의 간격을 좁히면 부드러운 곡선을 그릴 수 있다.

Plotyy(y축 2개 그리기)

>> x=0:pi/34:2*pi;

>> y1=sin(x);

>> y2=exp(x);

>> plotyy(x,y1,x,y2)

0 2 4 6 8

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

0 2 4 6 8

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

0 1 2 3 4 5 6 7

-1 0 1

0 1 2 3 4 5 6 70

500 1000

(5)

plot3(x, y, z)

3 차원 선 그래프 그리기

>> x=linspace(0,10*pi,1000);

>> y=cos(x);

>> z=sin(x);

>> plot3(x,y,z);

>> grid

>> xlabel('각도'),ylabel('cos(x)'),zlabel('sin(x)'),title('스프링')

Animation graph

>> comet3(x,y,z)

0

10

20

30

40

-1 -0.5

0 0.5

1 -1 -0.5 0 0.5 1

각 도 스 프 링

cos(x)

s in (x )

(6)

2. Polar(극좌표)

>> x=0:pi/32:2*pi;

>> y=sin(x);

>> clf

>> polar(x,y)

>> subplot(1,2,2)

>> polar(x,y)

>> subplot(1,1,1)

>> polar(x,y)

>> polar(x,sin(x))

>> hold

Current plot held

>> polar(x,cos(x))

0.2 0.4 0.6

0.8 1

30

210

60

240

90

270 120

300 150

330

180 0

0.2 0.4

0.6 0.8

1

30

210

60

240

90

270 120

300 150

330

180 0

(7)

3. 다양한 그래프 그리기

>> x=[1 2 5 4 8];

>> y=[x;1:5];

>> subplot(2,2,1)

>> bar(x), title('벡터 x의 막대그래프')

>> subplot(2,2,2)

>> bar(y), title('행렬 y의 막대그래프')

>> subplot(2,2,3)

>> bar3(y), title('3차원 막대그래프')

>> subplot(2,2,4)

>> pie(x), title('x의 파이차트')

1 2 3 4 5

0 2 4 6 8

벡 터

x의 막 대 그 래 프

1 2

0 2 4 6 8

행 렬

y의 막 대 그 래 프

1 2 3 4 5

1 2 0 5 10

3차 원 막 대 그 래 프

5%

10%

25%

20%

40%

x의 파 이 차 트

(8)

4. Histogram 그리기

>> x=randn(2,5)*10+70;

>> hist(x(:),10)

>> A=hist(x(:)) A =

1 3 1 1 1 0 2 0 0 1

>> A=randn(1,100)*10+50; %평균이 50이고 표준편차가 10인 가우시안 분포

>> subplot(2,2,1), hist(A), subplot(2,2,2), hist(A,10)

>> subplot(2,2,3), hist(A,5), subplot(2,2,4), hist(A,20)

히스토그램을 그리는 hist( ) 함수는 가로축에는 자료 값을 적당한 크기 별로 분류하여 그 분류 값(계급)을 표시하고 세로축에는 계급에 해당하는 자료 수(빈도, 분포)를 표시한다.

55 60 65 70 75 80 85

0 0.5 1 1.5 2 2.5 3

(9)

위의 예에서 보듯이 hist(A)는 자료 값 전체 범위를 10 등분한 계급을 만들어 이에 따른 분포(빈도)를 그린다. hist(A,10)은 자료 값을 10등분하라는 뜻이며 따라서 hist(A)와 같다. 아래 그림의 hist(A,5)와 hist(A,10)을 각각 5등분, 10 등분하여 히스토그램을 그리라는 뜻이다.

5. fplot(함수 그래프)

>> fplot('sin(x)',[-2*pi,2*pi])

20 40 60 80

0 5 10 15 20 25

20 40 60 80

0 5 10 15 20 25

20 40 60 80

0 10 20 30 40

20 40 60 80

0 5 10 15

20 40 60 80

0 10 20 30 40

hist(A) hist(A,10)

hist(A,5) hist(A,20)

-6 -4 -2 0 2 4 6

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

Sin(x)의 함 수 그 래 프

(10)

6. Surface Plot(면 그래프)

Mash graph

행렬의 행 수에 따라 x 값이 1 부터 끝까지 차례로 붙여진다(x=1:end).

y 값은 행 수에 맞춰지면 첫 행은 y=1 에 두번 째 행은 y=2 에 세번 째 행은 y=3 에 연결된다.

행렬의 1,행 2 행, 3 행을 각각 z 값(z1, z2, z3)이 된다.

x, y 값을 변경하려면 x, y 값을 주면 된다.

>> x=linspace(1,50,10);

>> y=[500 750 1000];

>> z=[1:10; 2:2:20; 3:12] % 전에 누락되어 추가했습니다.

>> mesh(x,y,z)

0 2

4 6

8 10

1 1.5 2 2.5 3 0 5 10 15 20

(11)

(1) mesh(x,y,z) (2) surf(x,y,z)

(3) surf(x,y,z), shading interp (4) surf(x,y,z), shading flat

0 10

20 30

40 50

400 600

800 1000

0 5 10 15 20

(12)

>> x=[-2:0.2:2];

>> y=[-2:0.2:2];

>> [X,Y]=meshgrid(x,y);

>> Z=X.*exp(-X.^2-Y.^2);

>> subplot(2,2,1);

>> mesh(X,Y,Z)

>> subplot(2,2,2);

>> surf(X,Y,Z)

>> subplot(2,2,3);

>> contour(X,Y,Z)

>> subplot(2,2,4);

>> surfc(X,Y,Z)

-2

0

2 -2

0 2 -0.5 0 0.5

-2

0

2 -2

0 2 -0.5 0 0.5

-2 -1 0 1 2

-2 -1 0 1 2

-2

0

2 -2

0

2

-0.5

0

0.5

(13)

>> subplot(2,2,1)

>> pcolor(x,y,z)

>> subplot(2,2,2)

>> pcolor(x,y,z), shading interp

>> subplot(2,2,3)

>> pcolor(x,y,z), shading interp

>> hold on

>> contour(x,y,z,20,'k')

>> subplot(2,2,4)

>> contour(x,y,z)

-2 0 2

-3 -2 -1 0 1 2 3

-2 0 2

-3 -2 -1 0 1 2 3

-2 0 2

-3 -2 -1 0 1 2 3

-2 0 2

-3

-2

-1

0

1

2

3

(14)

7. Fig. Tools

Insert

-1 -0.5

0 0.5

1

-1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1

X 축 Sphere Graph

Y 축

Z

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 연 습 용 텍 스 트 1

상 자 추 가 하 기

(15)

8. 작업공간창에서 변수를 선택하여 그래프 그리기

9. 그래프 저장하기

(1) M 파일로 저장

(2) 파일 메뉴에서 'Save As'

2012-09-18, 곽노태

참조

관련 문서

자기가 가져온 책은 자기가 읽지 않으면서 책을 바꾸어 읽는 경우를 표로 나타내면 다음과 같다.. yy ① 따라서 구하는

이때 정점을 그래프에서 분리시키는 간선은 제거할 수 없으므로 이런 경우에는 그 다음으로 가중치가 높은

[r]

Measurement device: Continuity test; test current up to 0,1A (option 3A), resistance from 10mOhm Insulation measurement; test voltage up to 750V, resistance up to

Fitted with an integrated sideshift and tilting car- riage as standard, the uniquely designed triplex fixed mast has no central lift cylinder which, together with the

[r]

[r]

 authors와 books를 authors의 surname 값과 books의 name 값이 같은 자료를 한 행으로 하여 합친다... 사용예를