2012-03-30 5 views
0

아래에는이 벡터가 많이 있습니다. 매우 희소하고 많은 'NaN'이 있습니다. 내가하고자하는 것은이 벡터에서 유효한 숫자를 추출하여 'NaN'값이없는 별도의 벡터에 넣는 것입니다.Matlab에서 스파 스 벡터로부터 유효한 값을 추출하는 방법은 무엇입니까?

모든 벡터의 유효 숫자가 다른 위치가 있으므로 행렬에 넣을 수 없으므로 행을 추출 할 수 있습니다.

따라서 제발 도와주세요! 그 벡터 가정

10459865 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
8751943 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
6951680 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
5991217 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
5327653 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
4740048 
    NaN 
    NaN 
4265221 
    NaN 
    NaN 
3973280 

답변

1

a(isfinite(a)) 

은 유효한 (유한) 항목을 추출하는 것, 가변 a에 저장된다.

0

isnan() 함수를 사용하여 항목이 숫자인지 확인할 수 있습니다. 다음과 같이

x = vector of values; 
new_x = x(~isnan(x)); 

new_x는 유효한 숫자 만있는 벡터입니다.

관련 문제