sorting a matrix according to another matrix

1 view (last 30 days)
Hi,
I have a 2x200000 matrix A where the 2nd column is an ID column.Then I have another 6x200000 matrix B in which also the first column is an ID column . The ID column of A has the same IDs as the ID column in B, however with a different order. Is it possible to sort the whole matrix B according to the column matrix of A? for example: A=[ 0.3 1;0.4 2; 0.1 3] and B=[1 6; 3 8 ;2 11]; is it possible to sort B according to the 2nd column of A (IDs) to get B=[1 6; 2 11; 3 8]; where the first column in B is also a column of the same IDs of A?

Accepted Answer

Sukuchha
Sukuchha on 24 Feb 2012
A=[ 0.3 1;0.4 2; 0.1 3]
B=[1 6; 3 8 ;2 11]
[tf, loc] = ismember(A(:,2), B(:,1))
B_value = B(:,2);
result=[ A(:,2) B_value(loc)]

More Answers (0)

Categories

Find more on Shifting and Sorting Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!