File: Logical-Values.html

package info (click to toggle)
octave 10.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 145,388 kB
  • sloc: cpp: 335,976; ansic: 82,241; fortran: 20,963; objc: 9,402; sh: 8,756; yacc: 4,392; lex: 4,333; perl: 1,544; java: 1,366; awk: 1,259; makefile: 659; xml: 192
file content (139 lines) | stat: -rw-r--r-- 9,241 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<!DOCTYPE html>
<html>
<!-- Created by GNU Texinfo 7.1.1, https://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Logical Values (GNU Octave (version 10.3.0))</title>

<meta name="description" content="Logical Values (GNU Octave (version 10.3.0))">
<meta name="keywords" content="Logical Values (GNU Octave (version 10.3.0))">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta name="viewport" content="width=device-width,initial-scale=1">

<link href="index.html" rel="start" title="Top">
<link href="Concept-Index.html" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Numeric-Data-Types.html" rel="up" title="Numeric Data Types">
<link href="Automatic-Conversion-of-Data-Types.html" rel="next" title="Automatic Conversion of Data Types">
<link href="Bit-Manipulations.html" rel="prev" title="Bit Manipulations">
<style type="text/css">
<!--
a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
span:hover a.copiable-link {visibility: visible}
strong.def-name {font-family: monospace; font-weight: bold; font-size: larger}
-->
</style>
<link rel="stylesheet" type="text/css" href="octave.css">


</head>

<body lang="en">
<div class="section-level-extent" id="Logical-Values">
<div class="nav-panel">
<p>
Next: <a href="Automatic-Conversion-of-Data-Types.html" accesskey="n" rel="next">Automatic Conversion of Data Types</a>, Previous: <a href="Bit-Manipulations.html" accesskey="p" rel="prev">Bit Manipulations</a>, Up: <a href="Numeric-Data-Types.html" accesskey="u" rel="up">Numeric Data Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<h3 class="section" id="Logical-Values-1"><span>4.6 Logical Values<a class="copiable-link" href="#Logical-Values-1"> &para;</a></span></h3>

<p>Octave has built-in support for logical values, i.e., variables that
are either <code class="code">true</code> or <code class="code">false</code>.  When comparing two variables,
the result will be a logical value whose value depends on whether or
not the comparison is true.
</p>
<p>The basic logical operations are <code class="code">&amp;</code>, <code class="code">|</code>, and <code class="code">!</code>,
which correspond to &ldquo;Logical And&rdquo;, &ldquo;Logical Or&rdquo;, and &ldquo;Logical
Negation&rdquo;.  These operations all follow the usual rules of logic.
</p>
<p>It is also possible to use logical values as part of standard numerical
calculations.  In this case <code class="code">true</code> is converted to <code class="code">1</code>, and
<code class="code">false</code> to 0, both represented using double precision floating
point numbers.  So, the result of <code class="code">true*22 - false/6</code> is <code class="code">22</code>.
</p>
<p>Logical values can also be used to index matrices and cell arrays.
When indexing with a logical array the result will be a vector containing
the values corresponding to <code class="code">true</code> parts of the logical array.
See <a class="xref" href="Index-Expressions.html#XREFLogicalIndexing">Logical Indexing</a>.
</p>
<p>Logical values can also be constructed by
casting numeric objects to logical values, or by using the <code class="code">true</code>
or <code class="code">false</code> functions.
</p>
<a class="anchor" id="XREFlogical"></a><span style="display:block; margin-top:-4.5ex;">&nbsp;</span>


<dl class="first-deftypefn">
<dt class="deftypefn" id="index-logical"><span><code class="def-type"><var class="var">TF</var> =</code> <strong class="def-name">logical</strong> <code class="def-code-arguments">(<var class="var">x</var>)</code><a class="copiable-link" href="#index-logical"> &para;</a></span></dt>
<dd><p>Convert the numeric object <var class="var">x</var> to logical type.
</p>
<p>Any nonzero values will be converted to true (1) while zero values will be
converted to false (0).  The non-numeric value NaN cannot be converted and will
produce an error.
</p>
<p>Compatibility Note: Octave accepts complex values as input, whereas <small class="sc">MATLAB</small>
issues an error.
</p>
<p><strong class="strong">See also:</strong> <a class="ref" href="Numeric-Data-Types.html#XREFdouble">double</a>, <a class="ref" href="Single-Precision-Data-Types.html#XREFsingle">single</a>, <a class="ref" href="Concatenating-Strings.html#XREFchar">char</a>.
</p></dd></dl>


<a class="anchor" id="XREFtrue"></a><span style="display:block; margin-top:-4.5ex;">&nbsp;</span>


<dl class="first-deftypefn">
<dt class="deftypefn" id="index-true"><span><code class="def-type"><var class="var">val</var> =</code> <strong class="def-name">true</strong> <code class="def-code-arguments">(<var class="var">x</var>)</code><a class="copiable-link" href="#index-true"> &para;</a></span></dt>
<dt class="deftypefnx def-cmd-deftypefn" id="index-true-1"><span><code class="def-type"><var class="var">val</var> =</code> <strong class="def-name">true</strong> <code class="def-code-arguments">(<var class="var">n</var>, <var class="var">m</var>)</code><a class="copiable-link" href="#index-true-1"> &para;</a></span></dt>
<dt class="deftypefnx def-cmd-deftypefn" id="index-true-2"><span><code class="def-type"><var class="var">val</var> =</code> <strong class="def-name">true</strong> <code class="def-code-arguments">(<var class="var">n</var>, <var class="var">m</var>, <var class="var">k</var>, &hellip;)</code><a class="copiable-link" href="#index-true-2"> &para;</a></span></dt>
<dt class="deftypefnx def-cmd-deftypefn" id="index-true-3"><span><code class="def-type"><var class="var">val</var> =</code> <strong class="def-name">true</strong> <code class="def-code-arguments">(&hellip;, &quot;like&quot;, <var class="var">var</var>)</code><a class="copiable-link" href="#index-true-3"> &para;</a></span></dt>
<dd><p>Return a matrix or N-dimensional array whose elements are all logical 1.
</p>
<p>If invoked with a single scalar integer argument, return a square
matrix of the specified size.
</p>
<p>If invoked with two or more scalar integer arguments, or a vector of integer
values, return an array with given dimensions.
</p>
<p>If a logical variable <var class="var">var</var> is specified after <code class="code">&quot;like&quot;</code>, the output
<var class="var">val</var> will have the same sparsity as <var class="var">var</var>.
</p>
<p><strong class="strong">See also:</strong> <a class="ref" href="#XREFfalse">false</a>.
</p></dd></dl>


<a class="anchor" id="XREFfalse"></a><span style="display:block; margin-top:-4.5ex;">&nbsp;</span>


<dl class="first-deftypefn">
<dt class="deftypefn" id="index-false"><span><code class="def-type"><var class="var">val</var> =</code> <strong class="def-name">false</strong> <code class="def-code-arguments">(<var class="var">x</var>)</code><a class="copiable-link" href="#index-false"> &para;</a></span></dt>
<dt class="deftypefnx def-cmd-deftypefn" id="index-false-1"><span><code class="def-type"><var class="var">val</var> =</code> <strong class="def-name">false</strong> <code class="def-code-arguments">(<var class="var">n</var>, <var class="var">m</var>)</code><a class="copiable-link" href="#index-false-1"> &para;</a></span></dt>
<dt class="deftypefnx def-cmd-deftypefn" id="index-false-2"><span><code class="def-type"><var class="var">val</var> =</code> <strong class="def-name">false</strong> <code class="def-code-arguments">(<var class="var">n</var>, <var class="var">m</var>, <var class="var">k</var>, &hellip;)</code><a class="copiable-link" href="#index-false-2"> &para;</a></span></dt>
<dt class="deftypefnx def-cmd-deftypefn" id="index-false-3"><span><code class="def-type"><var class="var">val</var> =</code> <strong class="def-name">false</strong> <code class="def-code-arguments">(&hellip;, &quot;like&quot;, <var class="var">var</var>)</code><a class="copiable-link" href="#index-false-3"> &para;</a></span></dt>
<dd><p>Return a matrix or N-dimensional array whose elements are all logical 0.
</p>
<p>If invoked with a single scalar integer argument, return a square
matrix of the specified size.
</p>
<p>If invoked with two or more scalar integer arguments, or a vector of integer
values, return an array with given dimensions.
</p>
<p>If a logical variable <var class="var">var</var> is specified after <code class="code">&quot;like&quot;</code>, the output
<var class="var">val</var> will have the same sparsity as <var class="var">var</var>.
</p>
<p><strong class="strong">See also:</strong> <a class="ref" href="#XREFtrue">true</a>.
</p></dd></dl>


</div>
<hr>
<div class="nav-panel">
<p>
Next: <a href="Automatic-Conversion-of-Data-Types.html">Automatic Conversion of Data Types</a>, Previous: <a href="Bit-Manipulations.html">Bit Manipulations</a>, Up: <a href="Numeric-Data-Types.html">Numeric Data Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>