오늘은 ezplot() 함수를 이용하여 그래프를 그리는 방법에 대해서 설명하겠습니다. ezplot() 함수는 함수에 대해 기본적으로 x 축의 범위가 -2π ~ 2π 범위에 대해 그래프를 그려 주는 함수 입니다. 물론 함수의 범위는 사용자가 설정할 수도 있습니다.
몇 가지 예를 통해 사용 방법을 설명 드리겠습니다. y=sin(x) + x2 + 2x+4 라는 함수에 대해 그래프를 그려 보겠습니다. 위 수식에 대한 그래프를 그리는 방법은 다음과 같습니다.
matlab command 창에서 ezplot('sin(x) + x.^2 + 2.*x+4 ') 라고 타이핑 하면 다음과 같은 결과가 나옵니다. 다음 결과는 x 축의 범위가 위에 설명 드린 데로 -2π ~ 2π 범위의 값이 나왔습니다.
그럼 조금 다른 형태로 함수를 표현하고 ezplot() 을 이용하여 -10~10 사이의 축에 대해 그래프를 그려 보겠습니다. 위 수식을 다음과 같이 function handle 을 이용하여서 표현할 수도 있습니다. 일반적으로 함수는 함수파일로 따로 저장을 해서 이용하곤 하지만 다음과 같음 function handle을 이용하면 코딩 중간에 바로 함수를 만들어서 쓸 수 있다는 점에서 편리합니다.
f = @(x) sin(x)+ x.^2 + 2.*x+4
f =
@(x)sin(x)+x.^2+2.*x+4
이제 위 f 라는 핸들을 이용하여 그래프를 그려보면
ezplot(f,[-10 10]), grid on
위 결과와 같이 굉장히 간단하게 그래프를 그릴 수 있습니다. ezplot 함수를 사용하실 때 항상 vectorize 하시는 게 좋습니다. 그렇지 않음 다음과 같은 warning 이 뜨게 됩니다. vectorize 에 대해서는 다음 페이지를 참조 하시기 바랍니다.
2010/01/01 - [MATLAB] - MATLAB - vectorize()
Warning: Function failed to evaluate on array inputs; vectorizing the function may
speed up its evaluation and avoid the need to loop over array elements.
마지막 예로 원을 하나 그려 보겠습니다.
보통 반지름 r 이고 중점이 (a, b) 인 원은 다음과 같이 표현 됩니다.
중점이 (2, 3) 이고 반지름이 3인 원을 한번 그려 보겠습니다.
먼저 function handle 로 함수를 지정 해 줍니다.
f = @(x,y)(x-2).^2 + (y-3).^2 -3^2
f =
@(x,y)(x-2).^2+(y-3).^2-3^2
다음으로 ezplot() 함수를 이용하여 그림을 그려 줍니다.
ezplot(f), grid on
다음과 같은 결과가 나오는 것을 확인 할 수 있습니다.
'programming language > MATLAB' 카테고리의 다른 글
MATLAB 벡터화 기법 (0) | 2011.03.14 |
---|---|
MATLAB 적분 추가 내용 trapz() (0) | 2011.03.14 |
MATLAB 적분 int(), quad() (6) | 2011.03.14 |
MATLAB 함수의 해를 구해 보자~ fzero(), roots(), poly() (2) | 2011.03.13 |
MATLAB 다항식의 계수 추정 polyfit(), polyval() (0) | 2011.03.12 |
MATLAB 소스 코드 protection, pcode (1) | 2011.03.11 |
MATLAB [디지털 통신] EYE PATTERN (10) | 2011.03.09 |
MATLAB Editor 파일 비교 (0) | 2011.03.08 |
댓글