본문 바로가기
programming language/MATLAB

MATLAB NaN

by 남성 2011. 4. 20.

MATLAB 의 NaN키워드는 Not-a-Number 의 약자입니다.

 

즉 숫자가 아니라는 뜻입니다.

 

0/0 이나 ∞/∞ 와 같은 경우 NaN 이 출력 되게 되는데, 보통은 쓸모가 없다라고 생각하곤 합니다.

 

하지만 이런 NaN 키워드는 그래프를 그릴 때 매우 유용하게 사용할 수 있습니다.

 

그래프에서 특정 부분을 그래프에 나타내고 싶지 않을 때는 NaN 을 이용해서 표현을 하면 됩니다.

 



 

다음과 같은 경우를 보죠.

 

x=1:10;

y=x*2;

figure, plot(x,y), grid on

y2=y; y2(y>10)=nan; % y 의 값중 10 보다 큰 값들은 nan 으로 설정

figure, plot(x,y2), grid on

 

위 코드는 y 의 값 중에서 10 보다 큰 값들은 NaN 을 이용하여 그래프에서 제거 해주었습니다.

 

 



 

다음과 같이 3 차원 그래프에서 NaN 을 이용해 보죠.

 

[x y] = meshgrid(-8:0.5:8);

r = x.^2 + y.^2;

mesh(x,y,r), xlabel('x'), ylabel('y'), zlabel('z')

grid on

 

위 코드의 결과 다음과 같은 그래프가 그려 집니다.

 

 

r2=r;

index=(x<0) & (y>0);

r2(index)=nan; % x<0 and y>0 인 부분을 지운다.

mesh(x,y,r2), xlabel('x'), ylabel('y'), zlabel('z')

grid on

 

위 코드와 같이 nan 을 이용하여 x <0 이고 y > 0 인 부분을 그래프에서 쉽게 지울 수가 있습니다.

 


'programming language > MATLAB' 카테고리의 다른 글

MATLAB ordinary differential equation , ode45  (8) 2011.04.24
MATLAB nargin, nargout  (6) 2011.04.24
MATLAB laplace, inverse laplace transform  (0) 2011.04.24
MATLAB 변수를 저장 하자~ mat file  (0) 2011.04.21
MATLAB NaN  (0) 2011.04.20
MATLAB 파일 출력  (0) 2011.04.19
MATLAB 파일 읽기 importdata()  (0) 2011.04.18
MATLAB binomial r.v. generation  (4) 2011.04.17
MATLAB cell class  (6) 2011.04.11

태그

,

댓글0