How to identify the repeated elements in an array and delete those rows?

I have a matrix array like this:
1 100
2 200
3 200
4 200
5 500
And I want to identify the repeated elements on the right column, and delete the entire row of the matrix, to get something like this:
1 100
2 200
5 500
How can I do that?

답변 (2개)

the cyclist
the cyclist 2023년 4월 9일
편집: the cyclist 2023년 4월 9일
Here is one way:
M = [1 100;
2 200;
3 200;
4 200;
5 500];
[~,j] = unique(M(:,2));
out = M(j,:)
out = 3×2
1 100 2 200 5 500
Use unique
A = [1 100
2 200
3 200
4 200
5 500];
[Au,ix] = unique(A(:,2),'stable');
Anew = A(ix,:)
Anew = 3×2
1 100 2 200 5 500
.

카테고리

도움말 센터File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

제품

릴리스

R2022b

질문:

2023년 4월 9일

답변:

2023년 4월 9일

Community Treasure Hunt

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

Start Hunting!

Translated by