MATLAB Answers

## how to merge two matrices via one common column

Asked by Xin CUI

### Xin CUI (view profile)

on 23 Jun 2013
Accepted Answer by Andrei Bobrov

### Andrei Bobrov (view profile)

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?

Matt J

### Matt J (view profile)

on 23 Jun 2013

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

## Products

No products are associated with this question.

## 2 Answers

### Andrei Bobrov (view profile)

Answer by Andrei Bobrov

### Andrei Bobrov (view profile)

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

Xin CUI

### Xin CUI (view profile)

on 23 Jun 2013

Thank you. Works very well.

Answer by Matt J

on 23 Jun 2013
Edited by Matt J

### Matt J (view profile)

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

Xin CUI

### Xin CUI (view profile)

on 23 Jun 2013

Works great. Thank you.

#### Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today