Not able to get count of each elements in array itself

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 日

0 投票

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 件のコメント

Scott Tehelson
Scott Tehelson 2020 年 6 月 30 日
This is the thing I wanted. Thanks!

サインインしてコメントする。

その他の回答 (1 件)

madhan ravi
madhan ravi 2020 年 6 月 30 日

1 投票

[~, ~, c] = unique(x);
v = accumarray(c, 1);
Wanted = v(c)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by