how could I use the "find" command to compare two matrices?

8 views (last 30 days)
Hello Matlabers,
I have 2 matrices (with 1 column and 2000 rows each) and I would like to compare each row from each matrix and get a 3rd logical matrix with 1's or 0's depending on the case... so far I tried to use the command:
control_matrix=find(A)<(B);
and this is supposed to generate a control matrix with 1's and 0's with the same size (1 column and 2000 rows) but when I apply the command it does not give me back the correct results...
any idea, suggestion or hint?
thanks! :)

Accepted Answer

Laura Proctor
Laura Proctor on 18 Dec 2012
Edited: Laura Proctor on 18 Dec 2012
Comparing two matrices directly will give back a logical array:
control_matrix= A<B;
The find function will find the index values where items are nonzero.
  3 Comments
Laura Proctor
Laura Proctor on 18 Dec 2012
Did you try this command? It doesn't use find. If A & B are both 1x2000 element arrays, then it will return a 1x2000 element logical array containing 1's and 0's. The use of find returns the index values. Try it!
Image Analyst
Image Analyst on 18 Dec 2012
Obviously Elsis, you did NOT try the code she provided. I think you just ran your original code instead.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!