※이 글은 매틀랩 도움말센터 MATLAB Documentation - MathWorks 한국을 가지고 따라 하며 만든 자료입니다
이번 포스팅은 플롯에 관해서입니다 그래프를 시작화 할 수 있습니다
2차원 플롯
2차원 플롯을 그리기 위해서는 plot함수를 통해 그려야 합니다 plot 함수는 2차원 선 플롯을 그려주는 함수입니다
0에서 2π까지 사인 함숫값을 플로팅 해 보겠습니다.
x=0:pi/100:2*pi;
y=sin(x);
plot(x,y)
잘 나왔습니다 위 X=0:pi/100:2*pi 가 헷갈리는 분이 있을 것 같아서 조금 더 설명하겠습니다
: 연산자는 기본적으로 행렬 벡터를 생성해냅니다 a:b 일 땐 a~b까지 1씩 증가하는 배열을 만들지요
a:x:b꼴일 경우엔 a부터 b까지 x간격을 가지고 만듭니다 즉 해석하면 pi를 100으로 나눈 간격으로 0~2pi
까지 만듭니다 이를 작업공간을 통해서 확인해볼 수도 있습니다 작업공간에서 x를 더블클릭해봅시다
3.14*2=6.28 정확히 맞습니다
이번엔 좌표축에 레이블을 지정하고 제묵을 추가해보겠습니다 plot가 실행된 채로 하겠습니다
xlabel('x')
ylabel('sin(x)')
title('plot')
xlabel:x축에 레이블을 지정하는 함수입니다 기본형은 xlabel(txt) 형태입니다 레퍼런스는 더보기에 있습니다
ylabel:y축에 레이블 지정을 지정하는 함수입니다 기본형은 ylabel(txt) 형태입니다 레퍼런스는 더 보기에 있습니다
title:제목 추가 함수입니다 기본형은 title(titletext) 형태입니다 레퍼런스는 더 보기에 있습니다
plot 함수에 인자를 추가해서 선의 색과 선의 패턴을 바꿀 수도 있습니다
plot(x,y,'r--')
'r--'은 선의 사양을 나타냅니다 각 사양에는 선색, 선 스타일, 마커에 대한 문자를 포함시킬 수 있고 마커는 데이 터점을 나타내는 기호입니다
hold
hold함수는 새 플롯을 추가할 시 현재 플롯에 유지시킬 때 사용합니다 on으로 설정돼있으면 새로추가될떄 기존플롯이 삭제되지않도록하고 off 되있으면 전 플롯은 지워지고 새로 그려냅니다
x=0:pi/100:2*pi;
y=sin(x);
plot(x,y)
hold on
y2=cos(x);
plot(x,y2,':')
legend('sin','cos')
hold off
legend:좌표축에 범례 추가하는 함수입니다 기본형은 legend(label1,..., labelN)입니다
3차원 플롯
3차원 플롯은 일반적으로 두 변수의 함수 z=f(x, y) 꼴로 정의되는 곡면을 표시합니다 z를 나타내기 위해 먼저 함수 정의역에 대해 meshgrid로 (x, y)점 집합을 만들어냅니다
[x,y]=meshgrid(-2:.2:2);
z=x.*exp(-x.^2-y.^2);
surf(x,y,z)
일단 meshgrid 함수부터 설명하겠습니다
meshgrid:2차원 그리드와 3차원 그리드를 만들어내는 함수입니다 x 및 y에 포함된 좌표를 바탕으로 2차원 그리드 좌표를 반환합니다
[x, y]에 -2부터 2까지 0.2 단위로 만든 2차원 grid좌표를 반환합니다
z=x.*exp(-x.^2-y.^2);를 해석하면
exp는 자연로그 e의 지수입니다 y= exp(x)는 배열 x의 각 요소에 대해 e^x를 반환합니다
서브플롯
subplot 함수를 사용하면 동일한 창의 서로 다른 서브 영역에 여러 개의 플롯을 표시할 수 있습니다.
t = 0:pi/10:2*pi;
[X,Y,Z] = cylinder(4*cos(t));
subplot(2,2,1); mesh(X); title('X');
subplot(2,2,2); mesh(Y); title('Y');
subplot(2,2,3); mesh(Z); title('Z');
subplot(2,2,4); mesh(X,Y,Z); title('X,Y,Z');
MESH:메시 곡면 플롯 함수입니다 기본형은 mesh(x, y, z) 형태입니다
cylinder:원기둥을 만드는 함수입니다
저희가 볼 건 subplot함수입니다 subplot은 타일 형식 위치로 좌표축을 생성해 플롯을 배치할 수 있습니다 기본형은 subplot(a, b, c) 형태입니다 입력받으면 플롯을 나타내는 Figure a*b형태 그리드로 나누고 위치를 번호로 매겨 c인자 번호에 배치합니다
'공학 > matlab' 카테고리의 다른 글
matlab정리 -8.표현식 (0) | 2021.03.25 |
---|---|
matlab정리 -7.프로그래밍과 스크립트 (0) | 2021.03.22 |
matlab정리 - 5.함수호출 (0) | 2021.03.19 |
matlab 정리 - 4. 텍스트와 문자 (0) | 2021.03.19 |
matlab 정리 - 3.작업 공간 변수 (0) | 2021.03.16 |