Coding bug - IF statement

10 visualizaciones (últimos 30 días)
Anamil Mehta
Anamil Mehta el 7 de Dic. de 2020
Comentada: Ameer Hamza el 7 de Dic. de 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.

Respuesta aceptada

Ameer Hamza
Ameer Hamza el 7 de Dic. de 2020
Editada: Ameer Hamza el 7 de Dic. de 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 comentarios
Anamil Mehta
Anamil Mehta el 7 de Dic. de 2020
That makes sense! Thank you!
Ameer Hamza
Ameer Hamza el 7 de Dic. de 2020
I am glad to be of help!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by