data comparision in matlab

1 vue (au cours des 30 derniers jours)
Lalit Patil
Lalit Patil le 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]...

Réponse acceptée

Wayne King
Wayne King le 6 Nov 2012
Modifié(e) : Wayne King le 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.

Plus de réponses (1)

Jan
Jan le 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.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by