Effacer les filtres
Effacer les filtres

How to other all the matrix based on other vector

1 vue (au cours des 30 derniers jours)
Jose Valles
Jose Valles le 11 Sep 2018
Commenté : Jose Valles le 11 Sep 2018
How can I order a 2x2 matrix based on a vector For example:
B = [0 0 ; 1 4 ; 2 16 ; 3 19 ; 4 5 ; 5 39 ; 6 4]
C = [3 4 5 6 0 1 2]
the desired output is
D = [3 19; 4 5; 5 39; 6 4; 0 0; 1 4 ; 2 16]
I have been struggling trying to find the correct code line but i am only able to sort the one column and not the second column based on the first one

Réponse acceptée

Rik
Rik le 11 Sep 2018
Matlab is not zero-indexed, hence the +1 below.
B = [0 0 ; 1 4 ; 2 16 ; 3 19 ; 4 5 ; 5 39 ; 6 4] ;
C = [3 4 5 6 0 1];
order=C+1;
B_ordered=B(order,:);
  1 commentaire
Jose Valles
Jose Valles le 11 Sep 2018
Cool!! it also works very well
I have also submitted a answer

Connectez-vous pour commenter.

Plus de réponses (1)

Jose Valles
Jose Valles le 11 Sep 2018
Ok ... I Think i got the answer. Here it is
[~,order] = sort(C);
[Bs,~] = sortrows(B,1);
D(order,:) = Bs

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