Delete row with same value but in different columns
이전 댓글 표시
I would like to eliminate rows in the matrix with the same value but in different columns
i want the couples are unique in all rows and in all columns
i used "unique" but it delete rows with same value in same columns
...
2 9 % this value is repeat
2 77
2 157
2 399
2 909
2 1247
3 76
3 175
3 398
3 1164
3 1294
4 82
4 169
...
9 2 % this value is repeat
9 10
9 257
...
i used this code but it is not work
for i = 1:length(A)
for j = i+1:length(A)
if ((A(i,1) ~= A(j,2)) && (A(i,2) ~= A(j,1)))
B(n,1) = n
B(n,2) = A(i,1)
B(n,3) = A(i,2)
n = n+1
end
end
end
댓글 수: 4
Danilo Sanfilippo
2019년 8월 2일
madhan ravi
2019년 8월 2일
Hmm doesn't it produce the same result as below??
Danilo Sanfilippo
2019년 8월 2일
madhan ravi
2019년 8월 2일
isequal(Wanted,D)
답변 (2개)
madhan ravi
2019년 7월 24일
편집: madhan ravi
2019년 7월 24일
Wanted = unique(sort(matrix,2),'rows')
%or perhaps you want:
[~,idx] = unique(sort(matrix,2),'rows');
Wanted = matrix(idx,:)
댓글 수: 2
Danilo Sanfilippo
2019년 7월 24일
madhan ravi
2019년 7월 24일
Instead of describing, why not show the desired output???
Jeroen Houwen
2021년 6월 24일
Dear Danilo,
I might have a simpler version that also works. It is probably a bit late but it is something!
stp = 0;
while stp < length(A)
stp = stp + 1;
A(A(:,1) == A(stp,2),:) = [];
end
카테고리
도움말 센터 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!