Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

자료 매번 검색하기 귀찮아서 만든 블로그

MATLAB - 행렬에서 중복된 행 제거하기 본문

Matlab

MATLAB - 행렬에서 중복된 행 제거하기

쿠키아버님 2022. 9. 5. 22:55
>> a = [1,2,5,10,6,1,10]

a =

     1     2     5    10     6     1    10

1차원 행렬이 다음과 같이 있다고 할 때, 중복된 원소를 제거한 배열을 결과값으로 얻고 싶을 경우

 

 

unique 함수를 사용한다

>> unique(a)

ans =

     1     2     5     6    10

중복된 값인 1과 10 (6, 7번째 원소)이 사라진 것을 확인할 수 있다.

 

 

 

단, unique 함수를 사용하면 기본적으로 결과 배열의 크기가 정렬된 형태로 생성된다.

 

정렬을 원하지 않는 경우, 'stable' 을 추가 인수로 입력해주면 기존의 순서는 변하지 않게 출력된다.

 

>> unique(a, 'stable')

ans =

     1     2     5    10     6

 

 

 

다차원 행렬에 대해서도 적용이 가능하다.

 

>> a = [1, 2 ; 2, 4 ; 1, 5 ; 2, 4 ; 1, 3]

a =

     1     2
     2     4
     1     5
     2     4
     1     3

 

행이 100% 일치하는 경우 제거하려면 'rows' 인수를 입력해야한다.

 

>> unique(a, 'rows')

ans =

     1     2
     1     3
     1     5
     2     4

기존 행렬의 4번째 행이 사라진 것을 확인할 수 있다.