Matlab(매틀랩) 실습 4주차 - 2차원 그래프, 3차원 그래프 그리기

2023. 4. 10. 13:25MATLAB & Simulink - MathWorks

202316035 박준혁

 

2차원 그래프 그리기

 

plot

plot 명령어는 x(가로축) 지정되는 입력 자료 벡터 x 대응하여 y(세로축) 지정되는 출력 자료 벡터 y 그래프를 생성한다. 여러 개의 입력값(c1, c2, ...) 대한 출력값(y1, y2, ...) 그래프를 생성하는 plot 명령어의 기본 형태는 다음과 같다.

plot(x1,y1,x2,y2,...)

입력값이 지정된 벡터 x와 출력값이 지정된 벡터 y를 이용하여 그래프를 그릴 때 plot 명령어의 기본 형태는 다음과 같다.

plot(x,y,'s')
x: 입력값이 지정된 벡터
y: 출력값이 지정된 벡터
's': 자료 기호, 선 형태, 색상 지정(생략 가능하며 순서는 상관없음)

 

자료 기호 선 형태 색상
동그란 점(.): . 실선: - 검은색: k
별표(*): * 일점쇄선: -- 파란색: b
x 표(x): x 쇄선 점선 혼합: -. 청록색: c
원형(o): o 점선: : 초록색: g
플러스 기호(+): +   자홍색: m
정사각형: s   빨간색: r
다이아몬드: d   흰색: w
별: p   노란색: y

 

예시)

x = [1,2,3,4,5,6];
y = [1,2,3,6,5,4];
plot(x,y,'r--')

 

 


hold

2 이상의 선을 그림 하나에 나타내는 경우 그래프 하나를 먼저 그리고 hold 명령어를 사용하면 그러 그림을 확인한 그다음에 그릴 그래프를 추가할 있다. hold 명령어를 번갈아 입력하면 hold 명령 기능의 켜기/끄기를 반복할 있다.

 

예시)

x = [1,2,3,4,5,6];
y = [1,2,3,6,5,4];
y1 = [1,2,2,3,4,3];
plot(x,y,'r--')
hold
plot(x,y1,'b-.')

 

 


 

그래프 속성 지정하기

 

title

그래프 제목을 지정하는 명령어

title('text')
'text': 그래프 제목

예시)

x = [1,2,3,4,5,6];
y = [1,2,3,6,5,4];
y1 = [1,2,2,3,4,3];
plot(x,y,'r--')
hold
plot(x,y1,'b-.')
title('그래프 제목')


xlabel, ylabel

x축(가로축)과 y축(세로축)의 축 이름을 나타내는 명령어

xlabel('text')
ylabel('text')
'text': 축 이름

예시)

x = [1,2,3,4,5,6];
y = [1,2,3,6,5,4];
y1 = [1,2,2,3,4,3];
plot(x,y,'r--')
hold
plot(x,y1,'b-.')
title('그래프 제목')
xlabel('x축 이름')
ylabel('y축 이름')


axis

그림 창에서 각 축의 크기를 조절하는 명령어

axis([xmin xmax ymin ymax])
xmin, xmax: x축의 최소 크기와 최대 크기
ymin, ymax: y축의 최소 크기와 최대 크기

예시)

x = [1,2,3,4,5,6];
y = [1,2,3,6,5,4];
y1 = [1,2,2,3,4,3];
plot(x,y,'r--')
hold
plot(x,y1,'b-.')
title('그래프 제목')
xlabel('x축 이름')
ylabel('y축 이름')
axis([0 10 0 10])


grid

그래프에 모눈을 생성하는 명령어

 

예시)

x = [1,2,3,4,5,6];
y = [1,2,3,6,5,4];
y1 = [1,2,2,3,4,3];
plot(x,y,'r--')
hold
plot(x,y1,'b-.')
title('그래프 제목')
xlabel('x축 이름')
ylabel('y축 이름')
grid on


gtext

마우스를 이용하여 원하는 위치에 문자열을 삽입하는 명령어

gtext('s')
's': 삽입할 문자열

예시)

x = [1,2,3,4,5,6];
y = [1,2,3,6,5,4];
y1 = [1,2,2,3,4,3];
plot(x,y,'r--')
hold
plot(x,y1,'b-.')
title('그래프 제목')
xlabel('x축 이름')
ylabel('y축 이름')
grid on
gtext('마우스 이용 문자열')


text

그래프를 그리기 전에 미리 삽입할 문자열의 가로와 세로 좌표 위치를 설정하는 명령어

text(x,y,'s')
x: 문자열이 위치할 x좌표
y: 문자열이 위치할 y좌표
's'; 삽입할 문자열

예시)

x = [1,2,3,4,5,6];
y = [1,2,3,6,5,4];
y1 = [1,2,2,3,4,3];
plot(x,y,'r--')
hold
plot(x,y1,'b-.')
title('그래프 제목')
xlabel('x축 이름')
ylabel('y축 이름')
grid on
text(5,5,'y값은 5')


legend

각 그래프에 대한 내용을 문자열 형태로 지정하여 범례 형태로 표시하는 명령어

legend('s1','s2',...,'Location','Legend location')
's1','s2': 범례로 표시할 그래프의 이름
'Location': 기본 정의 설정
'Legend location': 그림창 안에서 범례의 동서남북 표시 위치를 자동으로 지정함. 왼쪽 아래는 'sw',
왼쪽 위는 'nw', 오른쪽 아래는 'se', 오른쪽 위는 'ne' 등으로 지정함.

예시)

x = [1,2,3,4,5,6];
y = [1,2,3,6,5,4];
y1 = [1,2,2,3,4,3];
plot(x,y,'r--')
hold;
plot(x,y1,'b-.')
title('그래프 제목')
xlabel('x축 이름')
ylabel('y축 이름')
grid on
text(5,5,'y값은 5')
legend('빨간색선','파란색선','Location','ne')

subplot

주어진 그래프 결과를 차례대로 쉽게 비교하기 위해 그럼 창을 분할하여 그리는 명렁어

subplot(mnp)
m: 분할하려는 행의 개수
n: 분할하려는 열의 개수
p: 그래프가 나타날 분할된 칸의 위치

예시)

x = [1,2,3,4,5,6];
y = [1,2,3,6,5,4];
y1 = [1,2,2,3,4,3];
subplot(211)
plot(x,y,'r--')
title('그래프 제목')
xlabel('x축 이름')
ylabel('y축 이름')
subplot(212)
plot(x,y1,'b-.')
title('그래프 제목')
xlabel('x축 이름')
ylabel('y축 이름')


figure

여러 그래프를 각각 다른 그림창에 그리기 위해 그림창을 생성하는 명령어

figure(n)
n: 그림창의 번호(지정하지 않으면 자동으로 지정됨)

예시)

x = [1,2,3,4,5,6];
y = [1,2,3,6,5,4];
y1 = [1,2,2,3,4,3];
figure(1)
plot(x,y,'r--')
title('그래프 제목')
xlabel('x축 이름')
ylabel('y축 이름')
figure(2)
plot(x,y1,'b-.')
title('그래프 제목')
xlabel('x축 이름')
ylabel('y축 이름')

 

 


3차원 그래프 그리기

 

plot3

x축, y축, z축의 직선을 서로 연결하여 3차원 공간에 차례로 그리는 명령어

plot3(x,y,z)
x,y,z: 동일한 원소의 수를 가진 벡터

예시)

t = 0:pi/20:10*pi;
x = sin(t);
y = cos(t);
z = t;

plot3(x, y, z, 'LineWidth', 2);