how to delete repeated rows in a table?

I have an array M below. There are some repeated values in column 1. I would like to write a code that deletes all the rows that have repeated values in column 1. The final answer should be [518640 5.959; 522225 8.988].
This is a sample dataset. My actual data has more than 50,000 rows, and I need to delete all the repeated data. Thanks.
M = [518460 3.322; 518460 -12.984; 518520 3.798; 518520 -10.28; 518580 7.763; 518580 16.851; 518640 5.959; 522225 8.988];

 Akzeptierte Antwort

per isakson
per isakson am 24 Sep. 2021
Bearbeitet: per isakson am 27 Sep. 2021
Test this
%%
M = [518460 3.322; 518460 -12.984; 518520 3.798; 518520 -10.28; 518580 7.763; 518580 16.851; 518640 5.959; 522225 8.988];
%%
[~,ixu] = unique( M(:,1), 'stable' );
M(ixu,:)
ans = 5×2
1.0e+05 * 5.1846 0.0000 5.1852 0.0000 5.1858 0.0001 5.1864 0.0001 5.2222 0.0001
In response to comment
If everything fails, try a for-loop
for jj = 1 : size(M,1)
ixm = find( M(jj,1) == M(:,1) );
if numel(ixm) >= 2
M(ixm,1) = nan;
end
end
M( isnan(M(:,1)), : ) = []
M = 2×2
1.0e+05 * 5.1864 0.0001 5.2222 0.0001

3 Kommentare

Jayden Yeo
Jayden Yeo am 27 Sep. 2021
The above code only remove one instance of the repeating values in column 1.
M = [518460 3.322;
518460 -12.984;
518520 3.798;
518520 -10.28;
518580 7.763;
518580 16.851;
518640 5.959;
522225 8.988];
Based on the matrix M above, how should the code be modified if I would like the final answer to be
[518640 5.959; 522225 8.988]?
per isakson
per isakson am 27 Sep. 2021
See response in the answer.
Jayden Yeo
Jayden Yeo am 27 Sep. 2021
Thanks a lot.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 27 Sep. 2021
format long g
M = [518460 3.322; 518460 -12.984; 518520 3.798; 518520 -10.28; 518580 7.763; 518580 16.851; 518640 5.959; 522225 8.988]
M = 8×2
1.0e+05 * 5.1846 0.0000 5.1846 -0.0001 5.1852 0.0000 5.1852 -0.0001 5.1858 0.0001 5.1858 0.0002 5.1864 0.0001 5.2222 0.0001
[~, ia] = unique(M(:,1), 'stable');
M = M(ia,:)
M = 5×2
1.0e+05 * 5.1846 0.0000 5.1852 0.0000 5.1858 0.0001 5.1864 0.0001 5.2222 0.0001

Kategorien

Produkte

Version

R2015b

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by