Help comparing two matrices

3 visualizzazioni (ultimi 30 giorni)
Antonio
Antonio il 23 Dic 2014
Commentato: Antonio il 23 Dic 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 Commento
Image Analyst
Image Analyst il 23 Dic 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.

Accedi per commentare.

Risposta accettata

Amy
Amy il 23 Dic 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 Commento
Antonio
Antonio il 23 Dic 2014
but how do you integrate that in a function?
function [C]=comparaMatrices(m1,m2)
.....
.....
I cant get it working...sorry im a noob

Accedi per commentare.

Più risposte (1)

Matt J
Matt J il 23 Dic 2014
C=sign(A-B),

Community Treasure Hunt

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

Start Hunting!

Translated by