본문 바로가기
programming language/MATLAB

MATLAB contour 등고선 그리기

by __observer__ 2011. 3. 27.
반응형

MATLAB contour() 함수를 이용하면 등고선 그래프를 매우 쉽게 그릴 수 있다.

 

다음과 수식에 따른 값에 대해 등고선을 그려 보자.

 

[X,Y] = meshgrid(-2:2); % X,Y 설정

Z = 10*(X/5 - X.^3 - Y.^5).*exp(-X.^2-Y.^2); % Z 계산

 

위 식에 대해 아래 명령으로 등고선을 간단하게 그릴 수 있다.

 

figure, contour(X,Y,Z), colorbar

 

 

등고선 사이의 표면에 색을 입히고 싶다면 contourf() 함수를 이용한다.

 

figure, contourf(X,Y,Z), colorbar

 

 

다음과 같은 등고선 그래프를 얻을 수 있다.

 

 

위 그래프를 보면 간격이 너무 넓어서 등고선이 너무 각진 형태로 나오는 것을 확인 할 수 있다.

 

이럴 때는 interp2() 함수를 이용하여 2차원 면에 대한 보간을 할 수가 있다.

 

interp2() 함수는 기본적으로 linear interpolation 을 수행하므로, 좀더 부드러운 곡선을 얻기 위하여 spline interpolatin 을 하면 다음과 같이 부드러운 형태로 된 등고선을 얻을 수 있다.

 

[XI,YI] = meshgrid(-2:0.1:2);

ZI=interp2(X,Y,Z, XI,YI,'spline');

figure, contourf(XI,YI,ZI), colorbar 

 


반응형

댓글