Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

how to merge two matrices via one common column

Asked by Xin CUI

Xin CUI

on 23 Jun 2013
Accepted Answer by Andrei Bobrov

Andrei Bobrov

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 Comment

Matt J

Matt J

on 23 Jun 2013

It is confusing to call the columns of B "3 and 4" if B only has two columns.

Xin CUI

Xin CUI

Tags

Products

No products are associated with this question.

2 Answers

Answer by Andrei Bobrov

Andrei Bobrov

on 23 Jun 2013
Accepted answer
[~,ii] = ismember(A(:,2),B(:,1));
out = [A, B(ii,2)];

1 Comment

Xin CUI

Xin CUI

on 23 Jun 2013

Thank you. Works very well.

Andrei Bobrov

Andrei Bobrov

Answer by Matt J

Matt J

on 23 Jun 2013
Edited by Matt J

Matt J

on 23 Jun 2013
Anew=sortrows(A,2);
Bnew=sortrows(B,1);
merged=[Anew,Bnew(:,2)];

1 Comment

Xin CUI

Xin CUI

on 23 Jun 2013

Works great. Thank you.

Matt J

Matt J

Contact us