MATLAB: How to identify duplicate rows in a matrix

duplicate identificationMATLABunique

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!

Best Answer

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.
Related Question