How to group arrays in matrix

13 Ansichten (letzte 30 Tage)
Amy Xu
Amy Xu am 10 Apr. 2017
Kommentiert: Stephen23 am 10 Apr. 2017
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 Kommentar
Stephen23
Stephen23 am 10 Apr. 2017
The old fashioned way:
>> U = unique(A);
>> [U,hist(A,U).']
ans =
1 3
2 2
4 2
7 1
8 2
9 1

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Thorsten
Thorsten am 10 Apr. 2017
Bearbeitet: Thorsten am 10 Apr. 2017
If the second row is the number of occurrences then you can use
[a, ~, c] = unique(A);
B = [a, accumarray(c, 1)];

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

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by