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 commentaire

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?

Connectez-vous pour commenter.

 Réponse acceptée

Ameer Hamza
Ameer Hamza le 12 Oct 2020
Modifié(e) : Ameer Hamza le 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 commentaires

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

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by