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 Kommentar

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?

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 12 Okt. 2020
Bearbeitet: Ameer Hamza am 12 Okt. 2020

1 Stimme

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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Gefragt:

am 12 Okt. 2020

Kommentiert:

am 13 Okt. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by