How to find indices of non duplicate rows in a matrix?

17 views (last 30 days)
I need to find the indices of non duplicate rows in a matrix and I am not sure if there is a way to do it with:
unique()
if for example in the vector case I have:
A = [1 1 2 2 3 4 5 6 6]
I'd like to produce (as these 3 elements are unique in A):
B = [3 4 5]
by using:
A(unique_indices)
after somehow building:
unique_indices = [5 6 7]
in this case. The unique function will return a single copy of each element. Is there a quick way to do it? Thanks for tips.

Accepted Answer

dpb
dpb on 20 Jan 2021
>> A = [1 1 2 2 3 4 5 6 6];
>> [n,b]=histc(A,unique(A));
>> A(ismember(b,find(n==1)))
ans =
3.00 4.00 5.00
>>

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!