reordering matrix elements according to another matrix

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.

更多回答(1 个)

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

类别

帮助中心File Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by