본문 바로가기

소프트웨어/MATLAB

MATLAB] find함수로 0이 아닌 데이터들의 index 찾기

find()함수의 기본적인 기능은 다음과 같다

 

a =

     1     2     0     1
     2     0     1    23
   123     4     0   213
   123     1     0     1

>> find(a==0)

ans =

     6
     9
    11
    12 

 

 

위와 같이 기본적인 기능은 조건에 맞는 값의 index를 찾는 것이다.

 

 

그런데 우연히 오타로 인해 찾은 기능..

 

 

 

a =

     1     2     0     1
     2     0     1    23
   123     4     0   213
   123     1     0     1

>> find(a)

ans =

     1
     2
     3
     4
     5
     7
     8
    10
    13
    14
    15
    16 

 

다음과 같이 find()안에 아무 조건을 달지 않고 matrix를 그대로 넣었을때의 기능이다.

 

이때, matlab은 0이 아닌 원소들의 index 전체를 리턴해준다.

 

 

단 한줄! find(a) 로 0이 아닌 놈의 index를 얻을 수 있게 되었다 흐흐