how to merge two matrices via one common column

4 visualizaciones (últimos 30 días)
Xin CUI
Xin CUI el 23 de Jun. de 2013
Hi there. My question is that I have two matrices, say, A and B, A have two columns, 1 and 2, B has two columns, 3 and 4. Columns 2 and 3 are actually same numbers, BUT with difference order. How can I merge them together? For example, column 2 of matrix A is [a b c d e f]' and column 3 of matrix B is [d c b a e f]'. All the letters are unique ones. Is there an easy way to merge A and B?
  1 comentario
Matt J
Matt J el 23 de Jun. de 2013
Editada: Matt J el 23 de Jun. de 2013
It is confusing to call the columns of B "3 and 4" if B only has two columns.

Iniciar sesión para comentar.

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 23 de Jun. de 2013
[~,ii] = ismember(A(:,2),B(:,1));
out = [A, B(ii,2)];

Más respuestas (1)

Matt J
Matt J el 23 de Jun. de 2013
Editada: Matt J el 23 de Jun. de 2013
Anew=sortrows(A,2);
Bnew=sortrows(B,1);
merged=[Anew,Bnew(:,2)];

Categorías

Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by