sort matrix according to parity?

1 vue (au cours des 30 derniers jours)
Tiberius
Tiberius le 22 Fév 2014
Commenté : Tiberius le 22 Fév 2014
I have a matrix with many rows and 4 columns, and in one of the columns it's the parity (that is, only single values of 0 or 1). Can I sort this matrix to have the rows disposed according to parity, but alternating? That is, let's say you have this (third column is parity) a=[409 20 1 124; 324 11 1 135; 123 33 0 122; 11 12 0 124] and I want to obtain this: a=[11 12 0 124; 324 11 1 135; 123 33 0 122; 409 20 1 124]. (let's say I want to sort it also by first column, as a second criterion).
Does anyone has any nice idea for this? Thanks

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 22 Fév 2014
z = sortrows(a,1);
out = zeros(size(a));
out(1:2:end,:) = z(z(:,3)==0,:);
out(2:2:end,:) = z(z(:,3)==1,:);
  1 commentaire
Tiberius
Tiberius le 22 Fév 2014
Thank you very much.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Shifting and Sorting 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