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

2 vues (au cours des 30 derniers jours)
fyza affandi
fyza affandi le 28 Nov 2018
Commenté : Guillaume le 29 Nov 2018
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

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by