Subsection Logical Values (Answers)
MATLAB has two logical values:
true and false. When displayed, they often appear as logical 1 and logical 0. Although they behave similarly to the numeric values 1 and 0, they are different data types. Just as numbers can be stored in variables, logical values can be stored in variables as well.
a = 1;
b = true;
c = 0;
d = false;
fprintf("a = %g, b = %g, c = %g, d = %g\n", a, b, c, d)
Running the above code,
fprintf produces the following output:
a = 1, b = 1, c = 0, d = 0
Even though
a and b (and c and d) look the same, MATLAB treats them differently: a is a number (a double), while b is a logical value. You can get more information using the whos command. Here is the output you should see:
Name Size Bytes Class Attributes a 1x1 8 double b 1x1 1 logical c 1x1 8 double d 1x1 1 logical
This shows us two differences:
- Class (data type)
- Bytes (memory usage)
At the end of the day, the
double data type is meant to store numeric quantities, while the logical data type stores yes/no answers to questions.