앞서 2차원 그래프를 그릴 때 하나의 창에 하나의 그래프만 띄웠지만 여러 그래프를 띄우고 싶을 때는 어떻게 할까?
plot()으로 그래프를 띄우기 전에 subplot()함수로 지정된 공간에 특정 그래프를 띄울 수 있다.
예를 들어 subplot(3, 3, 2)라고 선언을 했다고 가정하자.
이는 창에 3x3형태의 공간을 할당한 상태이며 (1, 2)의 자리에 그래프를 띄운다는 뜻이다.
또 다른 예로 subplot(3, 3, 7)라고 선언을 하면 (3, 1)의 자리에 그래프를 띄운다.
이렇게 스크립트에서 식을 여러개 만들고 for문을 통해 연산을 계속 해주면 하나의 창에 여러 그래프를 띄울 수 있다.
t=linspace(-1,1,100);
y1=zeros(1,100);
y2=zeros(1,100);
y3=zeros(1,100);
y4=zeros(1,100);
y5=zeros(1,100);
y6=zeros(1,100);
y7=zeros(1,100);
y8=zeros(1,100);
y9=zeros(1,100);
for x=1:100
y1(x)=t(x)^2-2*t(x)+1;
y2(x)=sin(2*pi*t(x));
y3(x)=sin(2*pi*t(x)+2*pi*t(x));
y4(x)=exp(t(x));
y5(x)=cos(2*pi*t(x));
y6(x)=exp(t(x)^2);
y7(x)=exp(t(x)^10);
y8(x)=(sin(2*pi*t(x))-cos(4*pi*t(x)));
y9(x)=tan(2*pi*t(x));
end
subplot(3,3,1); //(1, 1)
plot(t,y1);
subplot(3,3,2); //(1, 2)
plot(t,y2);
subplot(3,3,3); //(1, 3)
plot(t,y3);
subplot(3,3,4); //(2, 1)
plot(t,y4);
subplot(3,3,5); //(2, 2)
plot(t,y5);
subplot(3,3,6); //(2, 3)
plot(t,y6);
subplot(3,3,7); //(3, 1)
plot(t,y7);
subplot(3,3,8); //(3, 2)
plot(t,y8);
subplot(3,3,9); //(3, 3)
plot(t,y9);
'MATLAB' 카테고리의 다른 글
[MATLAB] 그래프 설정 명령어 (0) | 2021.07.07 |
---|---|
[MATLAB] 3D그래프 그리기(Gaussian Distribution Graph 2D & 3D) (1) | 2021.07.06 |
[MATLAB] 간단한 함수 & 그래프 그리기(plot() 함수) (0) | 2021.07.06 |
[MATLAB] linspace(), zeros(), ones() 함수 (0) | 2021.07.06 |
[MATLAB] 입문 & 기본적인 Vector 만들기 (0) | 2021.07.05 |