/usr/share/doc/octave-htmldoc/interpreter/Structure-Arrays.html is in octave-htmldoc 3.8.2-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Octave: Structure Arrays</title>
<meta name="description" content="GNU Octave: Structure Arrays">
<meta name="keywords" content="GNU Octave: Structure Arrays">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Structures.html#Structures" rel="up" title="Structures">
<link href="Creating-Structures.html#Creating-Structures" rel="next" title="Creating Structures">
<link href="Basic-Usage-and-Examples.html#Basic-Usage-and-Examples" rel="prev" title="Basic Usage and Examples">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Structure-Arrays"></a>
<div class="header">
<p>
Next: <a href="Creating-Structures.html#Creating-Structures" accesskey="n" rel="next">Creating Structures</a>, Previous: <a href="Basic-Usage-and-Examples.html#Basic-Usage-and-Examples" accesskey="p" rel="prev">Basic Usage and Examples</a>, Up: <a href="Structures.html#Structures" accesskey="u" rel="up">Structures</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Structure-Arrays-1"></a>
<h4 class="subsection">6.1.2 Structure Arrays</h4>
<p>A structure array is a particular instance of a structure, where each of
the fields of the structure is represented by a cell array. Each of
these cell arrays has the same dimensions. Conceptually, a structure
array can also be seen as an array of structures with identical
fields. An example of the creation of a structure array is
</p>
<div class="example">
<pre class="example">x(1).a = "string1";
x(2).a = "string2";
x(1).b = 1;
x(2).b = 2;
</pre></div>
<p>which creates a 2-by-1 structure array with two fields. Another way
to create a structure array is with the <code>struct</code> function
(see <a href="Creating-Structures.html#Creating-Structures">Creating Structures</a>). As previously, to print the value of
the structure array, you can type its name:
</p>
<div class="example">
<pre class="example">x
⇒ x =
{
1x2 struct array containing the fields:
a
b
}
</pre></div>
<p>Individual elements of the structure array can be returned by indexing
the variable like <code><var>x</var>(1)</code>, which returns a structure with
two fields:
</p>
<div class="example">
<pre class="example">x(1)
⇒ ans =
{
a = string1
b = 1
}
</pre></div>
<p>Furthermore, the structure array can return a comma separated list of
field values (see <a href="Comma-Separated-Lists.html#Comma-Separated-Lists">Comma Separated Lists</a>), if indexed by one of its
own field names. For example:
</p>
<div class="example">
<pre class="example">x.a
⇒
ans = string1
ans = string2
</pre></div>
<p>Here is another example, using this comma separated list on the
left-hand side of an assignment:
</p>
<div class="example">
<pre class="example">[x.a] = deal ("new string1", "new string2");
x(1).a
⇒ ans = new string1
x(2).a
⇒ ans = new string2
</pre></div>
<p>Just as for numerical arrays, it is possible to use vectors as indices
(see <a href="Index-Expressions.html#Index-Expressions">Index Expressions</a>):
</p>
<div class="example">
<pre class="example">x(3:4) = x(1:2);
[x([1,3]).a] = deal ("other string1", "other string2");
x.a
⇒
ans = other string1
ans = new string2
ans = other string2
ans = new string2
</pre></div>
<p>The function <code>size</code> will return the size of the structure. For
the example above
</p>
<div class="example">
<pre class="example">size (x)
⇒ ans =
1 4
</pre></div>
<p>Elements can be deleted from a structure array in a similar manner to a
numerical array, by assigning the elements to an empty matrix. For
example
</p>
<div class="example">
<pre class="example">in = struct ("call1", {x, Inf, "last"},
"call2", {x, Inf, "first"})
⇒ in =
{
1x3 struct array containing the fields:
call1
call2
}
in(1) = [];
in.call1
⇒
ans = Inf
ans = last
</pre></div>
<hr>
<div class="header">
<p>
Next: <a href="Creating-Structures.html#Creating-Structures" accesskey="n" rel="next">Creating Structures</a>, Previous: <a href="Basic-Usage-and-Examples.html#Basic-Usage-and-Examples" accesskey="p" rel="prev">Basic Usage and Examples</a>, Up: <a href="Structures.html#Structures" accesskey="u" rel="up">Structures</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|