A=[ 1 1 1 2 2 3 3 3 1 1 4 4 4 2 2 3 3 3 4 3 ]
how can i count the number of 1 and 2 and 3 and 4 in the row vector
thank u

 採用された回答

Alex Mcaulley
Alex Mcaulley 2019 年 5 月 7 日

0 投票

sum(A==1) % or sum(A==2)...

1 件のコメント

Adam Danz
Adam Danz 2019 年 5 月 9 日
編集済み: Adam Danz 2019 年 5 月 9 日
Note that you'll need to calculate the unique values in A and then loop through each of them in order to use this method.
Aunq = unique(A);
count = zeros(size(Aunq));
for i = 1:length(Aunq)
count(i) = sum(A==Aunq(i)):
end
...which is all done in the one line of code I propsed using histcounts().

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

その他の回答 (1 件)

Adam Danz
Adam Danz 2019 年 5 月 7 日
編集済み: Adam Danz 2019 年 5 月 13 日

1 投票

Use histcounts() instead. It's designed for this purpose.
A=[ 1 1 1 2 2 3 3 3 1 1 4 4 4 2 2 3 3 3 4 3 ];
counts = histcounts(A,[unique(A),max(A)+1]);
Result
list = table(unique(A)', counts', 'VariableNames', {'Number', 'Count'});
list =
4×2 table
Number Count
______ _____
1 5
2 4
3 7
4 4

カテゴリ

ヘルプ センター および File ExchangeData Distribution Plots についてさらに検索

製品

リリース

R2018b

タグ

質問済み:

2019 年 5 月 7 日

編集済み:

2019 年 5 月 13 日

Community Treasure Hunt

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

Start Hunting!

Translated by