reordering matrix elements according to another matrix

15 vues (au cours des 30 derniers jours)
Lama Hamadeh
Lama Hamadeh le 4 Avr 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.

Réponse acceptée

Torsten
Torsten le 4 Avr 2022
[A,index] = sortrows(A)
B = B(index,:)

Plus de réponses (1)

Stephen23
Stephen23 le 4 Avr 2022
Modifié(e) : Stephen23 le 4 Avr 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

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