Coding bug - IF statement

10 visualizzazioni (ultimi 30 giorni)
Anamil Mehta
Anamil Mehta il 7 Dic 2020
Commentato: Ameer Hamza il 7 Dic 2020
I am working on a code right now where I need to compare a particular column of a matrix using IF statement. For some reason it wasn't working so I tried something simpler -
------
a=[1;0;0]
b=[0;0;1]
if a~=b
disp("hfsdfsdkhl")
end
-----
I am relatively new on MATLAB and dont get why the IF statement doesnot satisfy. This would not work either. Can someone help, please.

Risposta accettata

Ameer Hamza
Ameer Hamza il 7 Dic 2020
Modificato: Ameer Hamza il 7 Dic 2020
Comparing arrays like this does not work properly with the if-else block. See the output of your comparison
>> a=[1;0;0]
b=[0;0;1]
a =
1
0
0
b =
0
0
1
>> a~=b
ans =
3×1 logical array
1
0
1
It is a 3 element vector. You can use isequal() to see if all elements are equal or not
a=[1;0;0];
b=[0;0;1];
if ~isequal(a,b)
disp("hfsdfsdkhl")
end
You can also use
any(a~=b)
% or
all(a==b)
  2 Commenti
Anamil Mehta
Anamil Mehta il 7 Dic 2020
That makes sense! Thank you!
Ameer Hamza
Ameer Hamza il 7 Dic 2020
I am glad to be of help!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by