여기에서는 이전 포스트에 이어서 계속 plot()함수에 대해서 설명하도록 하겠다. 만약 sin(x)cos(x)함수를 그리고자 한다면 다음과 같이 하면 될 것이다.


>> x = 0:0.1:2*pi;
>> y = sin(x).*cos(x);
>> plot(x,y)


두 번째 줄에서 sin(x)와 cos(x)두 벡터의 곱에 (.*)연산자를 사용했음에 주의해야 한다. 계산하고자 하는 것이 두 벡터의 요소들 사이의 곱이기 때문이다.


[그림 1] 실행 결과 (gnu octave 에서 캡쳐)


또 다른 예로 x2+xsinx+1 이라는 함수를 도시하고자 한다면 다음과 같이 입력하면 된다.


>> x = -10:0.1:10;
>> y = x.^2 + x .*sin(x) + 1;
>> plot(x,y)


여기에서도 두 번째 줄에 (.^)연산자와 (.*)연산자가 쓰였음을 주의해서 보기 바란다. 요소간 연산을 수행해야 하기 때문이다.


[그림 2] 실행 결과 (gnu octave 에서 캡쳐)


두 번째 입력 파라메터가 행렬인 경우는 각각의 행을 서로 다른 그래프로 보여주게 된다. 다음 예를 보자.


>> x=linspace(0,2*pi,30);
>> y1=sin(x);
>> y2=cos(x);
>> Y=[y1;y2];
>> plot(x,Y)


의 예에서 linspace()함수는 0부터 까지 30개의 등간격 점을 생성하여 반환해주는 함수이다. plot()함수의 두 번째 파라메터 Y는 행렬이다. 아래  결과를 보면 각각의 행에 해당하는 그래프가 따로 도시됨을 알 수 있다.


[그림 3] 실행 결과 (gnu octave 에서 캡쳐)

 

또는 다음과 같이 따로따로 입력해도 같은 결과를 얻을 수 있다.


>> plot(x,y1,x,y2)


다음과 같이 x와 y값을 바꾸어서 입력하면 90도 회전시킨 그림을 도시하게 된다.


>> plot(Y,x)

[그림 4] 실행 결과 (gnu octave 에서 캡쳐)


이제까지 예제에서 그래프의 모양은 기본형이 실선으로 되어 있기 때문에 실선으로 그려졌으나 사용자가 임의로 지정할 수도 있다. 즉 선의 색상, 선의 모양 그리고 선의 종류를 사용자가 직접 지정할 수도 있다. 이것에 대해서는 다음 포스트에서 자세히 알아보도록 하겠다.



'프로그래밍언어.Lib > MATLAB' 카테고리의 다른 글

MATLAB의 plot()함수 (part 4)  (0) 2015.06.30
MATLAB의 plot()함수 (part 3)  (0) 2015.06.30
MATLAB의 plot()함수 (part 1)  (0) 2015.06.30
MATLAB의 ezplot()함수  (1) 2015.06.27
MATLAB의 기본적인 수학 함수들  (0) 2015.06.27
Posted by 살레시오
,