매틀랩으로 데이터 분석을 하다보면 find() 명령어를 통해서 특정 index를 찾고, 해당되는 index 값에 대해서만 여러 연산을 수행하는 과정이 필요합니다. 매틀랩에서 행렬을 생성하게 되면 아래의 그림과 같이 Subscript space에서는 A(1,1) 또는 A(1,2) 등의 과정을 통해서 행렬의 각 요소에 있는 값을 얻어올 수 있습니다. 하지만, Subscript space에서 Index space로 변환을 하게 되면 A(1,1)은 A(1)로 접근이 가능하고, A(1,2)는 A(11)을 통해서도 행렬의 값을 얻을 수 있습니다.

가령 아래와 같은 10x20의 행렬 A를 생각해 보겠습니다. 숫자는 행렬의 index를 의미하는 것이고 색깔은 행렬 요소의 값을 의미합니다. 파란색은 0이고 빨간색은 1을 나타냅니다. 이제 Matlab의 find() 명령어를 이용해서 행렬의 값이 1인 요소들의 index 값들을 찾아보도록 하겠습니다.

위의 그림에서 오른쪽에 나와 있듯이 Matlab에서 (>> idx = find(A>0)) 이란 명령어를 통해서 값이 0보다 큰 행렬 요소들이 어느 위치에 있는지 알 수 있습니다. 

신고