Keeping check of how many times a loop has seen a repeated value
Afficher commentaires plus anciens
Hey everyone!
I've been playing around with the unique function for a while now, but I can't seem to simply solve this problem.
In my code I've commented and shown what I want to achieve. basicly I've got a matrix where the first 2 columns are unique values (say integer X&Y data) and the last column indicates how often I've come across those values before.
Is there anyone who could point me in the right direction? I've looked at: http://nl.mathworks.com/matlabcentral/answers/122777-how-to-count-repeated-rows-of-characters-using-a-loop and http://nl.mathworks.com/matlabcentral/answers/46085-counting-repeated-values-paired-with-other-repeated-values-and-placing-those-counts-in-an-array
But no avail!
Thanks in advance!
D=[3 1 1]';
B=[2 0 1]';
T_seen=[100 1 1]'; %amount of time these values have been seen before, so the row [3 2] has been seen 100x before
A=[D B T_seen] %old values
A_d=[1 0;1 2;1 2] %new values which need to be added to the old values after removing duplicates
A_d=[A_d ones(size(A_d,1),1)] %adding 1's to the last column to indicate they have been seen once (now)
A_new=[A;A_d] %making one matrix of old and new combined
%with the last column indicating how many times they've been seen
[C, Ia,Ic]=unique(A_new(:,[1:end-1]),'rows'); %removing duplicate values from the matrix. (ignoring the amount of times they've been seen)
C
display('now. The goal is to create a matrix that looks like this:')
goal=[C [2;1;2;100]]
pause
%Here's my failed code:
New_A_d=A_new(Ia,:);
A0_A_d=[zeros(size(A,1),1);A_d(:,end)] %trying to replaces ones for zeros does not work either.
display('start')
for n=1:size(Ic,1)
n;
indice=Ic(n);
New_A_d(indice,end)=New_A_d(indice,end)+A0_A_d(indice)
%New_A_d(indice,end)=New_A_d(indice,end)+1 %does not work either
end
Réponse acceptée
Plus de réponses (1)
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!