How to group arrays in matrix

6 ビュー (過去 30 日間)
Amy Xu
Amy Xu 2017 年 4 月 10 日
コメント済み: Stephen23 2017 年 4 月 10 日
Matrix A as follows:
A = [
1
1
1
2
2
4
4
7
8
8
9
];
I want to group by matrix A as follows:
B = [
1 3
2 2
4 2
7 1
8 2
9 1
];
  1 件のコメント
Stephen23
Stephen23 2017 年 4 月 10 日
The old fashioned way:
>> U = unique(A);
>> [U,hist(A,U).']
ans =
1 3
2 2
4 2
7 1
8 2
9 1

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

回答 (2 件)

Thorsten
Thorsten 2017 年 4 月 10 日
編集済み: Thorsten 2017 年 4 月 10 日
If the second row is the number of occurrences then you can use
[a, ~, c] = unique(A);
B = [a, accumarray(c, 1)];

Guillaume
Guillaume 2017 年 4 月 10 日
A = [1 1 1 2 2 4 4 7 8 8 9]'
B = unique(A);
B = [B, histcounts(A, [B; Inf]).']

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by