sort matrix according to parity?

1 visualizzazione (ultimi 30 giorni)
Tiberius
Tiberius il 22 Feb 2014
Commentato: Tiberius il 22 Feb 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

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 22 Feb 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,:);

Più risposte (0)

Categorie

Scopri di più su Shifting and Sorting Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by