sorting a matrix according to another matrix

2 次查看(过去 30 天)
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?

采纳的回答

Sukuchha
Sukuchha 2012-2-24
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)]

更多回答(0 个)

类别

Help CenterFile 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