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 (10) | 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 파일 출력 (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 |
댓글