Effacer les filtres
Effacer les filtres

pick arrays from matrix with condition

1 vue (au cours des 30 derniers jours)
Tomas
Tomas le 11 Mai 2012
Hi, I have a matrix:
2 2 2 1
2 2 1 1
1 1 9 1
2 2 0 1
I need to pick rows that have same first number and sum them, but order of picking is important. In this case i need to pick first two rows and sum, then pick third and finaly fourth row; after that all the first numbers of column of new matrix should be the same depending on matrix sumed, so in the end there should be:
2 4 3 2
1 1 9 1
2 2 0 1
Any suggestions?

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 12 Mai 2012
I = cumsum([true;diff(a(:,1))~=0]);
ii = fullfact(size(a));
out = accumarray([I(ii(:,1)), ii(:,2)],a(:))

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