Indexing how many times is an element repeated in a matrix in another array
조회 수: 1 (최근 30일)
이전 댓글 표시
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
채택된 답변
Erivelton Gualter
2019년 11월 19일
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 ;)
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!