Find unique rows comparing 2 colums?
조회 수: 1 (최근 30일)
이전 댓글 표시
% code
a = [1,200,400;
2,222,410;
3,300,409;
4, 90, 100;
5, 320, 420;
6, 200, 400;
7, 222, 410;
8, 350, 405;
9, 210, 110;
10, 50, 80;]
if you look at the matrix, the first row at column 2 and 3 has values the same as the 6th row. e.g. a(1,2:3) = a(6,2:3). I m trying to return 'a' where it doesn't include duplicates. so the first, second, sixth and seventh row should only have one instance. Previously I just used a nested for loop to take each row and compare it to all other rows but on a larger scale this is computationally expensive. I was trying out the unique function with rows but it only seems to compare individual row elements to one another rather than compare 2 columns of one row to the other rows.
댓글 수: 0
채택된 답변
Thorsten
2015년 9월 22일
unique(a(:, 2:end), 'rows')
댓글 수: 3
Star Strider
2015년 9월 22일
Add the ‘setOrder’ argument 'stable' to keep the original order:
unique(a(:, 2:end), 'rows', 'stable')
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!