reordering matrix elements according to another matrix

25 Ansichten (letzte 30 Tage)
Lama Hamadeh
Lama Hamadeh am 4 Apr. 2022
Beantwortet: Torsten am 4 Apr. 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.

Akzeptierte Antwort

Torsten
Torsten am 4 Apr. 2022
[A,index] = sortrows(A)
B = B(index,:)

Weitere Antworten (1)

Stephen23
Stephen23 am 4 Apr. 2022
Bearbeitet: Stephen23 am 4 Apr. 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

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by