Compare two tables and extract data

Hello, I have two data matrix: A and B
A =
101 62
102 65
103 62
104 58
105 72
106 80
B =
99 65
100 62
102 80
104 71
105 73
109 62
I would like to search all same values in first column of A and B, and create a column C with all the extracted rows from A and B :
C =
102 65 80
104 58 71
105 72 73
Any help is very much appreciated!

1 Comment

C = B(ismember(B(:,1),A),:)
I know that with this code, I can only return B, but I also need the second column of A.
I thought about indices?

Sign in to comment.

 Accepted Answer

Ameer Hamza
Ameer Hamza on 12 Oct 2020
Edited: Ameer Hamza on 12 Oct 2020
Try this
A = [
101 62
102 65
103 62
104 58
105 72
106 80];
B = [
99 65
100 62
102 80
104 71
105 73
109 62];
[idxA, idxB] = ismember(A(:,1), B(:,1));
C = [A(idxA, :) B(idxB(idxB~=0), 2)];

4 Comments

Thank you very much, it worked perfectly ^^
I am glad to be of help!!!
you'are so nice. I love it!
My pleasure! You may accept the answer to show appreciation.

Sign in to comment.

More Answers (0)

Tags

Asked:

on 12 Oct 2020

Commented:

on 13 Oct 2020

Community Treasure Hunt

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

Start Hunting!