File: variables_struct.html

package info (click to toggle)
freemat 4.2%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 141,800 kB
  • ctags: 14,082
  • sloc: ansic: 126,788; cpp: 62,046; python: 2,080; perl: 1,255; sh: 1,146; yacc: 1,019; lex: 239; makefile: 100
file content (122 lines) | stat: -rw-r--r-- 4,768 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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>FreeMat: STRUCT Structure Array Constructor</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">FreeMat
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('variables_struct.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">STRUCT Structure Array Constructor </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Section: <a class="el" href="sec_variables.html">Variables and Arrays</a> </p>
<h1><a class="anchor" id="Usage"></a>
Usage</h1>
<p>Creates an array of structures from a set of field, value pairs. The syntax is </p>
<pre class="fragment">   y = struct(n_1,v_1,n_2,v_2,...)
</pre><p> where <code>n_i</code> are the names of the fields in the structure array, and <code>v_i</code> are the values. The values <code>v_i</code> must either all be scalars, or be cell-arrays of all the same dimensions. In the latter case, the output structure array will have dimensions dictated by this common size. Scalar entries for the <code>v_i</code> are replicated to fill out their dimensions. An error is raised if the inputs are not properly matched (i.e., are not pairs of field names and values), or if the size of any two non-scalar values cell-arrays are different.</p>
<p>Another use of the <code>struct</code> function is to convert a class into a structure. This allows you to access the members of the class, directly but removes the class information from the object.</p>
<h1><a class="anchor" id="Example"></a>
Example</h1>
<p>This example creates a 3-element structure array with three fields, <code>foo</code> <code>bar</code> and <code>key</code>, where the contents of <code>foo</code> and <code>bar</code> are provided explicitly as cell arrays of the same size, and the contents of <code>bar</code> are replicated from a scalar.</p>
<pre class="fragment">--&gt; y = struct('foo',{1,3,4},'bar',{'cheese','cola','beer'},'key',508)

y = 
1x3 struct array with fields:
    foo
    bar
    key
--&gt; y(1)

ans = 
    foo: 1
    bar: cheese
    key: 508
--&gt; y(2)

ans = 
    foo: 3
    bar: cola
    key: 508
--&gt; y(3)

ans = 
    foo: 4
    bar: beer
    key: 508
</pre><p>An alternate way to create a structure array is to initialize the last element of each field of the structure</p>
<pre class="fragment">--&gt; Test(2,3).Type = 'Beer';
--&gt; Test(2,3).Ounces = 12;
--&gt; Test(2,3).Container = 'Can';
--&gt; Test(2,3)

ans = 
    Type: Beer
    Ounces: 12
    Container: Can
--&gt; Test(1,1)

ans = 
    Type: 0
    Ounces: 0
    Container: 0
</pre> </div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="index.html">FreeMat Documentation</a></li><li class="navelem"><a class="el" href="sec_variables.html">Variables and Arrays</a></li>
    <li class="footer">Generated on Thu Jul 25 2013 17:18:30 for FreeMat by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.1 </li>
  </ul>
</div>
</body>
</html>