What does a = b > c specify in MATLAB syntax?

5 visualizaciones (últimos 30 días)
Sarim Khan
Sarim Khan el 12 de Oct. de 2017
Comentada: Walter Roberson el 15 de Nov. de 2022
My guess is that it is a shorthand for an if-else condition where a = 1 if b>c is true. Is this correct? If yes, can I replace a = b > c with a suitable if else condition?

Respuesta aceptada

Walter Roberson
Walter Roberson el 12 de Oct. de 2017
Yes, you can replace it with
if b > c
a = logical(1);
else
a = logical(0);
end
Another way of expressing this is:
if b > c
a = true;
else
a = false;
end
This is not the same as
if b > c
a = 1;
else
a = 0;
end
because in this later code, a = 1 or a = 0 assigns values of class double() to a, which behaves differently than when values of class logical() are assigned to a .
  1 comentario
Walter Roberson
Walter Roberson el 15 de Nov. de 2022
Note that using if/else like this is only valid for the case that a and b are both scalars.

Iniciar sesión para comentar.

Más respuestas (1)

Matt J
Matt J el 12 de Oct. de 2017
Editada: Matt J el 12 de Oct. de 2017
No, it is not a shorthand for if/else.
b>c is an expression that returns a value of true() or false(). In this case, the returned value is simply assigned to a.

Categorías

Más información sobre Argument Definitions en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by