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

5 Ansichten (letzte 30 Tage)
Sarim Khan
Sarim Khan am 12 Okt. 2017
Kommentiert: Walter Roberson am 15 Nov. 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?

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 12 Okt. 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 Kommentar
Walter Roberson
Walter Roberson am 15 Nov. 2022
Note that using if/else like this is only valid for the case that a and b are both scalars.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Matt J
Matt J am 12 Okt. 2017
Bearbeitet: Matt J am 12 Okt. 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.

Kategorien

Mehr zu Argument Definitions finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by