Not able to get count of each elements in array itself

1 次查看(过去 30 天)
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!

采纳的回答

Gaganjyoti Baishya
Gaganjyoti Baishya 2020-6-30
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.

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Multidimensional Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by