MATLAB: Retain IDs of rows kept by the Unique function

idlogical?operatorunique

I have a matrix composed in the following way: [ID_1 ID_2 Resisting_Area]
ID_1 and ID_2 are integer values, Resisting_Area is float.
I need to perform the unique operation on the first 2 columns of the matrix, but also I need to carry the third column value for the kept rows. Is there a simple way to do this?
MWE:
A = [1 2 3.0001; 1 2 3.0002; 2 4 5.12];
I would like to select only the first and third rows but
B = unique(A,'rows')
won't do it, since the resisting area value is not integer and it is not correctly detected as duplicate. Also uniquetol does not have a 'rows' option.

Best Answer

[U,m] = unique(A(:,1:2),rows);
B = [U,m];
I'm not sure which you want to keep, the indices of the "kept" rows or those kept third column values themselves. If the latter, change the second line of code to:
B = [U,A(m,3)];
Note that the rows that are "kept" depends on the 'first' or 'last' option, though that doesn't affect the contents of U, only that of m.