MATLAB: Sorting a matrix according to another matrix

sort

Hi,
I have a 2×200000 matrix A where the 2nd column is an ID column.Then I have another 6×200000 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?

Best Answer

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)]