find rows of two matricies (of different sizes) based on matching element of one column
Show older comments
Given two matrices A[1000x4] and B[500x4] what is the fastest way in MATLAB to extract the complete rows of A which share the same element values in column 4 as B does?
for example if,
A=[1 2 3 7;
2 6 9 1;
8 3 4 8] and
B=[9 2 5 1;
6 2 1 5;
3 6 6 8].
What is the most efficient way to create a new array
C=[2 6 9 1;
8 3 4 8],
having the rows of A with same element in column 4 as B does?
Thanks!
Accepted Answer
More Answers (1)
James Tursa
on 10 Nov 2015
Caution, untested:
k = ismember(A(:,4),B(:,4));
C = A(k,:);
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!