MATLAB: How to plot x-y coordinates which correspond to elements which are repeated at least once

at leastcoordinatescoordscorrespondduplicateelementsmatrixonceplotrepeatrepeatedsortunique

My project concerns capture & recapture of rats. I have a 1040 x 3 array, the first column is the tag number of the rat (when each rat is captured for the first time, its given a tag (harmlessly of course!) the other 2 columns are the x & y coordinates respectively of where in a 7×7 plane the rat was captured. If the same rat is captured again, its position is then recorded again. I want to plot how the position of all of the individual rats which were captured more than once change over time. I've got a list of the indices of all of the non-repeated elements (i.e. all the rats which were seen once, but not again), but don't know where to go from there. Thanks for any help

Best Answer

This may get you started
A = 1040x3 array
[r,c] = size(A);
[tags, iA,ic] = unique(A(:,1)); % rats that have been captured
t = 1:r; % scale time as needed.
rat2 = setdiff(tags,iA); % rats that have been captured more than once
colr = ['b','g','r','m','c','k']; % identify rats with different colors
figure;
for i=1:length(rat2)
ind = A(:,1)==A(rat2(i),1); % pick all the rat locs for rat i
plot3(t(ind),A(ind,2),A(ind,3),colr(i)); % plot rat i trajectory
hold on;
end
grid on;