data comparision in matlab

3 views (last 30 days)
Lalit Patil
Lalit Patil on 6 Nov 2012
After using image processing I have a [r c] = [1 7;2 8;3 9;4 10;5 11;6 12]; and [R C] = [2 8;1 6;4 9;3 9;6 12;8 1;0 15];
The answer should be [A B] = [2 8;3 9;6 12] I want to find all that [R C] which are in [r c]...

Accepted Answer

Wayne King
Wayne King on 6 Nov 2012
Edited: Wayne King on 6 Nov 2012
A = [1 7;2 8;3 9;4 10;5 11;6 12];
B = [2 8;1 6;4 9;3 9;6 12;8 1;0 15];
lia = ismember(A,B,'rows');
Anew = A(lia>0,:);
Anew contains the rows that are common.

More Answers (1)

Jan
Jan on 6 Nov 2012
This is a bold question.
1. This is no valid Matlab syntax:
[r c] = [1 7;2 8;3 9;4 10;5 11;6 12];
[R C] = [2 8;1 6;4 9;3 9;6 12;8 1;0 15];
On the left hand you have two variables, on the right hand only one array in each line. It is impossible to guess, what this should mean.
2. The information "after using image processing" does not help to understand the problem. It increases the confusion level only.
3. "The answer should be [A B] = [2 8;3 9;6 12]" - beside the invalid syntax, which does not allow us to find out, what you want to achieve, you did not explain, what you have tried so far. A forum is not a "do it 4 me" machine.
4. With a lot of guessing, I assume, that ismember(R, r, 'rows') will solve your question.

Community Treasure Hunt

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

Start Hunting!