Indexing how many times is an element repeated in a matrix in another array
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Ningct12
il 19 Nov 2019
Commentato: Ningct12
il 20 Nov 2019
Sorry if the wording in the title doesn't make sense. I'm still a noob to MATLAB.
Let's say I have an experiment order of A = [1 2 1 2 3 2 3 3 1].
I would like to make another array counting how many times each task is repeated in A.
The expected outcome would be B = [1 1 2 2 1 3 2 3 3].
Particularly, when 1 appeared the 2nd time in A(3), B(3) = 2. When 1 appeared the 3nd time in A(9), B(9)= 3. Same applies for the other numbers.
How can I achieve this? Any help is much appreciated. Thank you!
0 Commenti
Risposta accettata
Erivelton Gualter
il 19 Nov 2019
The following piece of code solve your problem:
arr = unique(A);
for i=1:length(arr)
n = arr(i);
B(A==n) = 1:length(find(A==n));
end
B
Next time, try to show some attempt code ;)
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!