• 검색 결과가 없습니다.

그래프 그리기

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, 곽노태

참조

관련 문서

(다다이스트들은 몽타주를 통해) “1차대전의 파괴적 분위기 속에서 계몽주 의적 합리성(그리고 전통적 예술)의 기저에 깔려 있는 질서 명령과 일반 수학에 도전 한다.

[r]

[r]

[r]

• 스윕 차트(Sweep Chart)는 데이터가 오른쪽 테두리에 닿을 때 플롯이 지워 지는 것이 아니라 이동하는 수직선이 새 데이터 시작을 표시하고 새 데이터 가

• 그래프 이론 (graph theory) : 그래프를 문제해결의

[r]

명석의 정보도 큐에 enqueue, dequeue 됨 예시에서는 명석의 정보가 마지막에 enqueue Dequeue 되면 종료.. 최소 비용