Not able to get count of each elements in array itself

1 回表示 (過去 30 日間)
Scott Tehelson
Scott Tehelson 2020 年 6 月 30 日
コメント済み: Scott Tehelson 2020 年 6 月 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 件のコメント
Scott Tehelson
Scott Tehelson 2020 年 6 月 30 日
This is the thing I wanted. Thanks!

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

その他の回答 (1 件)

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

カテゴリ

Help Center および File ExchangeMultidimensional Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by