2) Tech

1-3. (Matlab) 그래프 겹쳐 그리는 방법!

Technical_Supporter 2020. 3. 6. 18:38
반응형

안녕하세요!!

 

오늘은 매트랩에서 그래프를 겹쳐 그리는 3가지 방법에 대해서 이야기해보려합니다!

 

명령창으로 이동하겠습니다!

 

1. hold on/off 로 그래프 겹치기

 

clear; clc; close all;

(close all; -> 모든 그래프창 닫기 )

 

예로 몇가지 그래프를 그려보겠습니다.

 

x = -10:0.01:10;

 

y = sin(x);

y2 = cos(x);

y3 = atan(x);    ->  atan: 역탄젠트

 

plot(x,y)  -> figure1 창에 y=sin(x)그래프 생성

 

hold on   -> figure1 창 hold on

 

plot(x,y2)  -> figure1 창에 y=cos(x)그래프 생성 

 

plot(x,y3)  -> figure1 창에 y=tan-1(x) 그래프 생성

 

hold off  -> hold off 명령어로 그래프 겹치기 종료

 

+legend를 달아봅시다!

 

그래프 순서대로 입력해주시면됩니다!

 

legend('y=sinx', 'y=cosx', 'y=tan-1x', 'Loacation', 'northwest')

 

location은 northeast, best, south, southwest .. 등이 있습니다.

 

hold on/off로 겹치기

 

2. plot(x,y , x,y, x,y, ....) 연속 기입

 

다시 명령창으로!

 

figure(2)

 

plot(x,y, x,y2, x,y3 )   -> 연속 기입 후, 모양 설정

 

또는

 

plot(x,y, 'r',  x,y2, 'g', x,y3, 'b') -> 그래프 색 설정

 

 

plot에 연속 기입

 

3. plot(x, [y, y2, y3]) 벡터 결합하기

 

이번에는 y,y2,y3를 행 또는 열백터로 결합하는 방법입니다.

 

여기서 벡터라는 표현을 쓰는 이유는, 만약 y,y2,y3를 일렬로 쭉 나열하게 되면 

 

x:y 가 1:1 대응이 되지않기 때문에 행 또는 열벡터로 나열을 해주어야합니다! 

 

x, Y 길이가 같지 않아 오류발생

 

오류 이유! 1:1 대응 X

아래 그림과 같이 나열해주어야합니다.

1:1 대응!

또는

 

1:1 이 되어야한다!

- 행벡터로 나열하는 방법

 

Y = [y; y2; y3];   -> ;를 사용하면 행으로 추가됩니다.

 

plot(x, Y)

 

행벡터 결합으로 그래프 그리기

 

- 열벡터로 나열하는 방법

 

y, y2, y3를 Transpose를 해주어야합니다.

 

y = y.';     -> y transpose

 

y2 = y2.';   -> y2 transpose

 

y3 = y3.';    -> y3 transpose

 

Y = [y, y2 ,y3];   -> y, y2, y3 열 벡터 결합

 

plot(x,Y)

 

열벡터 결합으로 그래프 그리기 

 

열벡터 보단 행벡터가 간단하네요!

 

자! 이렇게 3가지 그래프를 겹쳐 그리는 3가지 방법에 대해 이야기 했습니다.

 

별거 아니지만 많은 도움이 되셨으면 좋겠네요!

반응형