15
매틀랩입문 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

15contents.kocw.net/KOCW/document/2015/hankyong/kwaknotae/... · 2016-09-09 · 매틀랩입문 4차시 그래프 그리기 매틀랩에서 가장 중요한 그래프 함수는 PLOT(

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 15contents.kocw.net/KOCW/document/2015/hankyong/kwaknotae/... · 2016-09-09 · 매틀랩입문 4차시 그래프 그리기 매틀랩에서 가장 중요한 그래프 함수는 PLOT(

매틀랩입문 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 100

5

10

15

0 5 100

5

10

15

0 5 100

5

10

15

0 5 100

5

10

15

Page 2: 15contents.kocw.net/KOCW/document/2015/hankyong/kwaknotae/... · 2016-09-09 · 매틀랩입문 4차시 그래프 그리기 매틀랩에서 가장 중요한 그래프 함수는 PLOT(

선 종류와 표식자(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 1020

40

60

80

100

120

140

160

180

200

Page 3: 15contents.kocw.net/KOCW/document/2015/hankyong/kwaknotae/... · 2016-09-09 · 매틀랩입문 4차시 그래프 그리기 매틀랩에서 가장 중요한 그래프 함수는 PLOT(

축 조정과 설명 넣기

>> 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 1020

40

60

80

100

120

140

160

180

200

x 축은 1에서 10까지

y 축

은 거

래금액

?

그래표 꾸미기 연습

e*loge 문자연습

: 원래

: 2배

: 0.5배

Page 4: 15contents.kocw.net/KOCW/document/2015/hankyong/kwaknotae/... · 2016-09-09 · 매틀랩입문 4차시 그래프 그리기 매틀랩에서 가장 중요한 그래프 함수는 PLOT(

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

Page 5: 15contents.kocw.net/KOCW/document/2015/hankyong/kwaknotae/... · 2016-09-09 · 매틀랩입문 4차시 그래프 그리기 매틀랩에서 가장 중요한 그래프 함수는 PLOT(

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)

sin

(x)

Page 6: 15contents.kocw.net/KOCW/document/2015/hankyong/kwaknotae/... · 2016-09-09 · 매틀랩입문 4차시 그래프 그리기 매틀랩에서 가장 중요한 그래프 함수는 PLOT(

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

Page 7: 15contents.kocw.net/KOCW/document/2015/hankyong/kwaknotae/... · 2016-09-09 · 매틀랩입문 4차시 그래프 그리기 매틀랩에서 가장 중요한 그래프 함수는 PLOT(

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 50

2

4

6

8벡터 x의 막대그래프

1 20

2

4

6

8행렬 y의 막대그래프

12

34

51

2

0

5

10

3차원 막대그래프

5%10%

25%

20%

40%

x의 파이차트

Page 8: 15contents.kocw.net/KOCW/document/2015/hankyong/kwaknotae/... · 2016-09-09 · 매틀랩입문 4차시 그래프 그리기 매틀랩에서 가장 중요한 그래프 함수는 PLOT(

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 850

0.5

1

1.5

2

2.5

3

Page 9: 15contents.kocw.net/KOCW/document/2015/hankyong/kwaknotae/... · 2016-09-09 · 매틀랩입문 4차시 그래프 그리기 매틀랩에서 가장 중요한 그래프 함수는 PLOT(

위의 예에서 보듯이 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 800

5

10

15

20

25

20 40 60 800

5

10

15

20

25

20 40 60 800

10

20

30

40

20 40 60 800

5

10

15

20 40 60 800

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

1Sin(x)의 함수 그래프

Page 10: 15contents.kocw.net/KOCW/document/2015/hankyong/kwaknotae/... · 2016-09-09 · 매틀랩입문 4차시 그래프 그리기 매틀랩에서 가장 중요한 그래프 함수는 PLOT(

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)

02

46

810

1

1.5

2

2.5

30

5

10

15

20

Page 11: 15contents.kocw.net/KOCW/document/2015/hankyong/kwaknotae/... · 2016-09-09 · 매틀랩입문 4차시 그래프 그리기 매틀랩에서 가장 중요한 그래프 함수는 PLOT(

(1) mesh(x,y,z)

(2) surf(x,y,z)

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

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

010

2030

4050

400

600

800

10000

5

10

15

20

Page 12: 15contents.kocw.net/KOCW/document/2015/hankyong/kwaknotae/... · 2016-09-09 · 매틀랩입문 4차시 그래프 그리기 매틀랩에서 가장 중요한 그래프 함수는 PLOT(

>> 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)

-20

2

-2

0

2-0.5

0

0.5

-20

2

-2

0

2-0.5

0

0.5

-2 -1 0 1 2-2

-1

0

1

2

-20

2

-2

0

2-0.5

0

0.5

Page 13: 15contents.kocw.net/KOCW/document/2015/hankyong/kwaknotae/... · 2016-09-09 · 매틀랩입문 4차시 그래프 그리기 매틀랩에서 가장 중요한 그래프 함수는 PLOT(

>> 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

Page 14: 15contents.kocw.net/KOCW/document/2015/hankyong/kwaknotae/... · 2016-09-09 · 매틀랩입문 4차시 그래프 그리기 매틀랩에서 가장 중요한 그래프 함수는 PLOT(

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연습용 텍스트상자 추가하기

Page 15: 15contents.kocw.net/KOCW/document/2015/hankyong/kwaknotae/... · 2016-09-09 · 매틀랩입문 4차시 그래프 그리기 매틀랩에서 가장 중요한 그래프 함수는 PLOT(

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

9. 그래프 저장하기

(1) M 파일로 저장

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

2012-09-18, 곽노태