Skip to main content
Contents
Calc
Dark Mode Prev Next Profile
\(\newcommand\DLGray{\color{Gray}}
\newcommand\DLO{\color{BurntOrange}}
\newcommand\DLRa{\color{WildStrawberry}}
\newcommand\DLGa{\color{Green}}
\newcommand\DLGb{\color{PineGreen}}
\newcommand\DLBa{\color{RoyalBlue}}
\newcommand\DLBb{\color{Cerulean}}
\newcommand\ds{\displaystyle}
\newcommand\ddx{\frac{d}{dx}}
\newcommand\os{\overset}
\newcommand\us{\underset}
\newcommand\ob{\overbrace}
\newcommand\obt{\overbracket}
\newcommand\ub{\underbrace}
\newcommand\ubt{\underbracket}
\newcommand\ul{\underline}
\newcommand\tikznode[3][]
{\tikz[remember picture,baseline=(#2.base)]
\node[minimum size=0pt,inner sep=0pt,#1](#2){#3};
}
\newcommand\del{\nabla}
\newcommand\R{\mathbb{R}}
\newcommand\C{\mathcal{C}}
\newcommand\N{\mathcal{N}}
\newcommand\eps{\varepsilon}
\renewcommand\epsilon{\varepsilon}
\renewcommand\subset{\subseteq}
\newcommand\norm[1]{\|{#1}\|}
\newcommand\matrixbrackets[4][1]{
\draw (#3,#2) -- (\fpeval{#3+0.2},#2);
\draw (#3,#1) -- (#3 ,#2);
\draw (#3,#1) -- (\fpeval{#3+0.2},#1);
\draw (#4,#2) -- (\fpeval{#4-0.2},#2);
\draw (#4,#1) -- (#4 ,#2);
\draw (#4,#1) -- (\fpeval{#4-0.2},#1);
}
\tikzstyle{circle node 0}=[fill=white, draw=black, shape=circle, inner sep=0pt]
\tikzstyle{circle node 2}=[fill=white, draw=black, shape=circle, inner sep=2pt]
\tikzstyle{hrect node}=[fill=white, draw=black, inner sep=2pt, outer sep=3pt]
\tikzstyle{vrect node}=[fill=white, draw=black, inner sep=0pt, outer sep=0pt]
\tikzstyle{hidden node 0}=[inner sep=0pt, outer sep=0pt]
\tikzstyle{hidden node 2}=[fill=white, inner sep=2pt, outer sep=2pt]
\tikzstyle{rect node 1}=[fill=white, inner sep=2pt, outer sep=0pt]
\tikzstyle{rect node 2}=[fill=white, draw=black, inner sep=2pt, outer sep=0pt]
\newcommand{\lt}{<}
\newcommand{\gt}{>}
\newcommand{\amp}{&}
\definecolor{fillinmathshade}{gray}{0.9}
\newcommand{\fillinmath}[1]{\mathchoice{\colorbox{fillinmathshade}{$\displaystyle \phantom{\,#1\,}$}}{\colorbox{fillinmathshade}{$\textstyle \phantom{\,#1\,}$}}{\colorbox{fillinmathshade}{$\scriptstyle \phantom{\,#1\,}$}}{\colorbox{fillinmathshade}{$\scriptscriptstyle\phantom{\,#1\,}$}}}
\)
Subsection Logical Values: true/false (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)
a is a
double, while
b is a
logical.
Bytes (memory usage)
a uses 8 bytes, while
b uses 1 byte.
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.
Exercises 🤔💭 Conceptual Questions
1.
(a) Logical Data Types.
In MATLAB,
true and
1 are the same.
True.
Incorrect. While true and 1 are represented by the same numeric value, they have different data types: true is of type logical, while 1 is of type double.
False.
Incorrect. While true and 1 are represented by the same numeric value, they have different data types: true is of type logical, while 1 is of type double.
(b) Understanding Logical Values.
Why is
true (logical) different from
1 (double) in MATLAB, even though they display similarly?
true represents a logical value, while 1 is numeric
Correct! Logical values are designed to represent yes/no answers to questions, while numeric values represent measurements or counts.
They are the same and can be used interchangeably
Incorrect. While they behave similarly in many contexts, they are different data types with different purposes.
Logical values are faster than numeric values
Incorrect. While logical values do use less memory, the key difference is their purpose: answering yes/no questions versus storing numeric data.