여기에서는 MATLAB에서 그래픽을 그려주는 함수들중 ezplot() 함수에 대해서 설명하겠다. MATLAB에서 자주 사용되는  그래픽 함수는 다음과 같다. (아래 함수들은 gnu octave 4.x 이상 버전에서 모두 지원한다.)


[표 1] 그래프 함수들

함수명

비고

ezplot(), fplot()

plot()

ezpolar(), polar()

loglog(), semilogx(), semilogy()

2차원 그래프

ezplot3(), ezmesh(), ezsurf()

plot3(), mesh(), surf()

3차원 그래프


 이것들 중 ezplot()함수는 사용자가 쉽게 (easy) 수학 함수의 그래프를 그릴 수 있도록 해주는 함수이고 fplot()함수는 함수(function)의 그래프를 그려주는 함수이다. 두 함수 모두 어떤 함수의 2차원 그래프를 그려주는 함수로서 명시적 함수( y=f(x) 의 형식) 과 암시적 함수 ( f(x,y)=0 의 형식)을 도시하는데 있어서 plot()함수보다는 보다 편하게 사용할 수 있다.

 가장 간단한 사용법은 도시하고자 하는 함수를 문자열로 입력하면 된다. 예를 들어 y=cos(x) 함수를 그리고 싶다면


>> ezplot('cos(x)')


[그림 1] gnu octave 4.x에서의 실행 결과


명시적 함수 y=f(x) 에서 f(x) 부분만 문자열로 입력하면 된다. y=sqrt(1-x2) 을 그리고 싶다면 다음과 같이 입력한다.


>> ezplot('sqrt(1-x^2)')

[그림 2] gnu octave 4.x 에서의 실행 결과


 만약 x축의 범위를 명시하고 싶다면 두 번째 파라메터로 x축의 최소값, 최대값을 가지는 행벡터를 입력하면 된다.


>> ezplot('sin(x)*cos(x)', [0 pi])

[그림 3] gnu octave 4.x 에서의 실행 결과


위의 명령은  sin(x)cos(x) 그래프를 그리되 x축의 범위를 0과 π사이로 하라는 것이다.


 암시적 함수도 그대로 문자열로 입력하면 된다. 예를 들어서 원의 방정식 x2+y2=16 을 그리고 싶다면 우변을 0으로 만든 다음 x2+y2-16=0 그 좌변을 입력하면 된다.


>> ezplot('x^2+y^2-16')


[그림 4] gnu octave 4.x 에서의 실행 결과


 이 경우도 두 번째 파라메터로 x축의 범위를 입력할 수 있다. 예를 들어 x3+y3-5xy+0.2=0 의 그래프를 그리되 x축의 범위를 [-3 3]로 하고 싶다면 다음과 같이 하면 된다.


>> ezplot('x^3 + y^3 - 5*x*y + 0.2',[-3,3])

[그림 5] gnu octave 4.x 에서의 실행 결과


 ezplot()함수는 x와 y의 관계식이 직접적으로 나타내지지 않고 매개변수에 의해서 관계 지어지는 경우도 도시할 수 있다. 예를 들어서 매개변수 t 에 대해서 x=sin(t) , y=cos(t)의 관계식이 주어진 경우 이들을 순서대로 입력하면 된다.


>> ezplot('sin(t)','cos(t)')

[그림 6] gnu octave 4.x 에서의 실행 결과


또한 다음과 같은 관계식을 가지는 x-y그래프를 t가 [0 π]의 범위를 가질 경우에 대해서 도시하려면

다음과 같이 하면 된다.


>> ezplot('sin(3*t)*cos(t)', 'sin(3*t)*sin(t)', [0,pi])

[그림 7] gnu octave 4.x 에서의 실행 결과


즉, 매개변수를 가지는 xy그래프를 그릴 때 세 번째 입력벡터는 매개변수의 범위가 된다.



Posted by 살레시오
,