How to other all the matrix based on other vector

1 visualización (últimos 30 días)
Jose Valles
Jose Valles el 11 de Sept. de 2018
Comentada: Jose Valles el 11 de Sept. de 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

Respuesta aceptada

Rik
Rik el 11 de Sept. de 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 comentario
Jose Valles
Jose Valles el 11 de Sept. de 2018
Cool!! it also works very well
I have also submitted a answer

Iniciar sesión para comentar.

Más respuestas (1)

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

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by