Store occurrences of an array in an equal sized array

1 view (last 30 days)
Good morning,
I would like to count the occurrences of all the elements of an array generating a new array that stores the value in the corresponding cell. (Matlab R2018a)
Here is an example of input, output:
Input = [1 2 3 3 4 5 5;
2 4 5 1 2 3 4;
1 1 2 2 3 3 5]
Output = [ 4 5 5 5 3 4 4;
5 3 4 4 5 5 3;
4 4 5 5 5 5 4]
Thank you very much.

Accepted Answer

madhan ravi
madhan ravi on 2 Jun 2020
Edited: madhan ravi on 2 Jun 2020
[~,~,c] = unique(Input);
Counts = accumarray(c,1);
Output = Counts(Input)

More Answers (0)

Categories

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!