Not able to get count of each elements in array itself

1 view (last 30 days)
I am having this array..x=[ 1 2 3 1 2]
Now I want to replace it with count of the corresponding elements..here x should get modified to x=[2 2 1 2 2]
By using hist(x, unique(x)) I am able to do it but it gives the count for unique elements. I want the result to have the number of elements.
please help!

Accepted Answer

Gaganjyoti Baishya
Gaganjyoti Baishya on 30 Jun 2020
Hi Scott,
Instead of using the histc function, you can use the grouptransform function to get the count of all elements int the array.
x = [1 2 3 1 2];
x = [1 2 3 1 2]';
x = grouptransform(x,x,@numel);
x contains the required array.

More Answers (1)

madhan ravi
madhan ravi on 30 Jun 2020
[~, ~, c] = unique(x);
v = accumarray(c, 1);
Wanted = v(c)

Categories

Find more on Multidimensional Arrays in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!