To group the matrix based on the number on their column (of non-zeros)

1 Ansicht (letzte 30 Tage)
I have a matrix below;-
Matr =
0 0
0 0
1 0
0 0
2 0
0 1
1 1
0 1
How can I group them based on their number of cloumn? Starts from 1st row to 7th row
I want the result to be....
group1=[3 1 %they are in the 1st row
5 1
7 1]
group2= [6 2
7 2] %they are in the 2nd row

Akzeptierte Antwort

Guillaume
Guillaume am 28 Nov. 2018
[row, column] = find(Matr);
groups = splitapply(@(rows, columns) {[rows, columns]}, row, column, column)
  5 Kommentare
fyza affandi
fyza affandi am 29 Nov. 2018
I get this answer
groups =
[3x2 double]
[3x2 double]
Guillaume
Guillaume am 29 Nov. 2018
celldisp(groups)
To see the content of the cell array, which is exactly what you asked for.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices 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