자료 매번 검색하기 귀찮아서 만든 블로그
MATLAB - 행렬에서 중복된 행 제거하기 본문
>> 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번째 행이 사라진 것을 확인할 수 있다.
'Matlab' 카테고리의 다른 글
Matlab 에서 그룹별 합, 평균 등 계산하기 (0) | 2022.09.11 |
---|---|
Matlab에서 배열의 카테고리별 빈도수 세기 (2) | 2022.09.11 |
MATLAB에서 ( 폴더가 존재하지 않는 경우) 폴더 생성하기 (0) | 2022.07.26 |
MATLAB - subplot에서 공통 레이블 붙이기 (0) | 2022.07.13 |
MATLAB - 테이블 변수 명 지정하기 (0) | 2022.07.13 |