Help comparing two matrices

2 views (last 30 days)
Antonio
Antonio on 23 Dec 2014
Commented: Antonio on 23 Dec 2014
so I need to compare two matrices but I need to set the values the final compared matrice will have... so for example if one value is higher than the other it should display 1; if it is lower -1 and finally if it is equal 0. I have been messing with this but cant figure it out I think I need a way to go over the two matrices comparing the two elements and but then how do I set those elements back into a matrice....? why is it so complicated!!!
well i need a function... sorry and thanks for the responses
  1 Comment
Image Analyst
Image Analyst on 23 Dec 2014
You already asked this and got answers from Roger and Azzi, and you accepted one: here is your duplicate question, so why are you asking again??? For what it's worth, I like Roger's and Matt's solution of using sign() best.

Sign in to comment.

Accepted Answer

Amy
Amy on 23 Dec 2014
You can use logical indexing for that. If m1 is the first matrix and m2 is the second and C is the comparison, I think you want something like:
C = zeros(size(m1));
C(m1>m2) = 1; % fill in 1 wherever m1 is greater than m2
C(m2>m1) = -1; % fill in -1 wherever m2 is greater
This assumes there are no nans. If that's the case you might initialize C to NaNs and then add a line for the case of m1==m2.
  1 Comment
Antonio
Antonio on 23 Dec 2014
but how do you integrate that in a function?
function [C]=comparaMatrices(m1,m2)
.....
.....
I cant get it working...sorry im a noob

Sign in to comment.

More Answers (1)

Matt J
Matt J on 23 Dec 2014
C=sign(A-B),

Categories

Find more on Matrices and Arrays 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!