How to identify duplicate rows in a matrix?
2 次查看(过去 30 天)
显示 更早的评论
I have a matrix like the below. It could have millions of rows.
A = [Year, Month, Day, Time, Lon, Lat, A, B, C;
2005, 3, 7, 11:30am, -120, 39.5, 20, 31, 5;
...
... ];
What I want to do is to identify rows with duplicates defined as:
Time = datenum(Year, Month, Day) + Time/24;
Time1 - Time2 < (1/24/60)*30 % less than 30 mins
Lon1 - Lon2 < 0.5
Lat2 - Lat2 < 0.5
For each identified duplicate pair (e.g., Row 15 and Row 6000 are duplicates), I would hope to have two rows in a new matrix:
Year1, Month1, Day1, ... (Row #15)
Year2, Month2, Day2, ... (Row #6000)
Many thanks for any tips!
0 个评论
采纳的回答
Image Analyst
2020-3-16
Try the unique() function. After finding unique rows, then you might want to use the setdiff() function. If you still have trouble, attach a short version of your A with some duplicate rows so people can do it for you.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Residual Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!