reordering matrix elements according to another matrix

27 visualizaciones (últimos 30 días)
Lama Hamadeh
Lama Hamadeh el 4 de Abr. de 2022
Respondida: Torsten el 4 de Abr. de 2022
Hi,
If I have the following two matrices:
A = [2 ; 4 ; 1 ; 3];
B = [12; 15; 20; 9];
where each row in B corresponds to each row in A. If I sort the rows in A in an ascending order as:
A = sortrows(A); %matrix A here looks like this now A = [1 ; 2; 3; 4];
How can I reorder matrix B so that each of its rows corresponds to the reordered matrix A. In other words, how can I get the follwoing:
B = [20; 12; 9; 15];
Thanks.

Respuesta aceptada

Torsten
Torsten el 4 de Abr. de 2022
[A,index] = sortrows(A)
B = B(index,:)

Más respuestas (1)

Stephen23
Stephen23 el 4 de Abr. de 2022
Editada: Stephen23 el 4 de Abr. de 2022
A = [2 ; 4 ; 1 ; 3];
B = [12; 15; 20; 9];
[A,X] = sort(A); % or SORTROWS
B = B(X)
B = 4×1
20 12 9 15

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by