Find the intersect of two columns from different matrix but keep the corresponding cells from the same row along with the intercept values
    4 views (last 30 days)
  
       Show older comments
    
I have two matrix with two columns. For example
A = [2 2; 4 3; 6 5; 8 3; 10 2]
B = [2 1; 3 2; 5 2; 8 2; 10 1]
I want to find the values from the first column that intersect. I can do this using 'C = intersect(A(:,1),B(:,1)). However, the output that I actaully want is a new matrix which keeps the corresponding values from the 2nd column of matrix A and B, along with the intercept values not just the intercept values which are spat out from the intersect function. So I end up with:
D = [2 8 10;
     2 3 2;
     1 2 1]
The above is a simplified example but I want to be able to apply it to a dataset with thousands of rows.
0 Comments
Accepted Answer
  Stephen23
      
      
 on 15 Oct 2019
        
      Edited: Stephen23
      
      
 on 15 Oct 2019
  
      >> A = [2,4,6,8,10;2,3,5,3,2]
A =
    2    4    6    8   10
    2    3    5    3    2
>> B = [2,3,5,8,10;1,2,2,2,1]
B =
    2    3    5    8   10
    1    2    2    2    1
>> [V,X,Y] = intersect(A(1,:),B(1,:));
>> D = [V;A(2,X);B(2,Y)]
D =
    2    8   10
    2    3    2
    1    2    1
3 Comments
  Stephen23
      
      
 on 16 Oct 2019
				>> A = [2,2;4,3;6,5;8,3;10,2]
A =
    2    2
    4    3
    6    5
    8    3
   10    2
>> B = [2,1;3,2;5,2;8,2;10,1]
B =
    2    1
    3    2
    5    2
    8    2
   10    1
>> [V,X,Y] = intersect(A(:,1),B(:,1));
>> D = [V,A(X,2),B(Y,2)]
D =
    2    2    1
    8    3    2
   10    2    1
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
