How to convert A= [13;8;12;4​;8;1;13;0;​10;13;1;6;​14;13;1;14​;11;9;9;10​;10;15] to B= [3 0 0 1 0 1 0 2 2 3 1 1 4 2 1]

2 次查看(过去 30 天)
if A= [13;8;12;4;8;1;13;0;10;13;1;6;14;13;1;14;11;9;9;10;10;15]
how can I convert A to be: B= [3 0 0 1 0 1 0 2 2 3 1 1 4 2 1].
3 in the first index of B, because "1" is repeated three times in A.
2 in the eighth index of B, because "8" is repeated two times in A.
"0" in the second index of B, because the value 2 is not exist in A and so on...

回答(2 个)

Simon Chan
Simon Chan 2021-7-8
edges = 1:max(A)+1;
B = histcounts(A,edges)

Jonas
Jonas 2021-7-8
编辑:Jonas 2021-7-8
use histcounts with integer bin method
histcounts([13;8;12;4;8;1;13;0;10;13;1;6;14;13;1;14;11;9;9;10;10;15],'BinMethod','integers')
you forgot the number 0 in your example output

类别

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

标签

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by