File: Comma-Separated-Lists-Generated-from-Cell-Arrays.html

package info (click to toggle)
octave 3.8.2-4
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 84,396 kB
  • ctags: 45,547
  • sloc: cpp: 293,356; ansic: 42,041; fortran: 23,669; sh: 13,629; objc: 7,890; yacc: 7,093; lex: 3,442; java: 2,125; makefile: 1,589; perl: 1,009; awk: 974; xml: 34
file content (135 lines) | stat: -rw-r--r-- 6,016 bytes parent folder | download | duplicates (3)
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
<!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: Comma Separated Lists Generated from Cell Arrays</title>

<meta name="description" content="GNU Octave: Comma Separated Lists Generated from Cell Arrays">
<meta name="keywords" content="GNU Octave: Comma Separated Lists Generated from Cell 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="Comma-Separated-Lists.html#Comma-Separated-Lists" rel="up" title="Comma Separated Lists">
<link href="Comma-Separated-Lists-Generated-from-Structure-Arrays.html#Comma-Separated-Lists-Generated-from-Structure-Arrays" rel="next" title="Comma Separated Lists Generated from Structure Arrays">
<link href="Comma-Separated-Lists.html#Comma-Separated-Lists" rel="prev" title="Comma Separated Lists">
<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="Comma-Separated-Lists-Generated-from-Cell-Arrays"></a>
<div class="header">
<p>
Next: <a href="Comma-Separated-Lists-Generated-from-Structure-Arrays.html#Comma-Separated-Lists-Generated-from-Structure-Arrays" accesskey="n" rel="next">Comma Separated Lists Generated from Structure Arrays</a>, Up: <a href="Comma-Separated-Lists.html#Comma-Separated-Lists" accesskey="u" rel="up">Comma Separated Lists</a> &nbsp; [<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="Comma-Separated-Lists-Generated-from-Cell-Arrays-1"></a>
<h4 class="subsection">6.3.1 Comma Separated Lists Generated from Cell Arrays</h4>

<p>As has been mentioned above (see <a href="Indexing-Cell-Arrays.html#Indexing-Cell-Arrays">Indexing Cell Arrays</a>), elements
of a cell array can be extracted into a comma separated list with the
<code>{</code> and <code>}</code> operators.  By surrounding this list with
<code>[</code> and <code>]</code>, it can be concatenated into an array.  For example:
</p>
<div class="example">
<pre class="example">a = {1, [2, 3], 4, 5, 6};
b = [a{1:4}]
     &rArr; b =
         1   2   3   4   5
</pre></div>

<p>Similarly, it is possible to create a new cell array containing cell
elements selected with <code>{}</code>.  By surrounding the list with  
&lsquo;<samp>{</samp>&rsquo; and &lsquo;<samp>}</samp>&rsquo; a new cell array will be created, as the
following example illustrates:
</p>
<div class="example">
<pre class="example">a = {1, rand(2, 2), &quot;three&quot;};
b = { a{ [1, 3] } }
     &rArr; b =
         {
           [1,1] =  1
           [1,2] = three
         }
</pre></div>

<p>Furthermore, cell elements (accessed by <code>{}</code>) can be passed
directly to a function.  The list of elements from the cell array will
be passed as an argument list to a given function as if it is called
with the elements as individual arguments.  The two calls to
<code>printf</code> in the following example are identical but the latter is
simpler and can handle cell arrays of an arbitrary size:
</p>
<div class="example">
<pre class="example">c = {&quot;GNU&quot;, &quot;Octave&quot;, &quot;is&quot;, &quot;Free&quot;, &quot;Software&quot;};
printf (&quot;%s &quot;, c{1}, c{2}, c{3}, c{4}, c{5});
     -| GNU Octave is Free Software 
printf (&quot;%s &quot;, c{:});
     -| GNU Octave is Free Software 
</pre></div>

<p>If used on the left-hand side of an assignment, a comma separated list
generated with <code>{}</code> can be assigned to.  An example is 
</p>
<div class="example">
<pre class="example">in{1} = [10, 20, 30, 40, 50, 60, 70, 80, 90];
in{2} = inf;
in{3} = &quot;last&quot;;
in{4} = &quot;first&quot;;
out = cell (4, 1);
[out{1:3}] = find (in{1 : 3});
[out{4:6}] = find (in{[1, 2, 4]})
     &rArr; out =
        {
          [1,1] = 1
          [2,1] = 9
          [3,1] = 90
          [4,1] = 1
          [3,1] = 1
          [4,1] = 10
        }
</pre></div>


<hr>
<div class="header">
<p>
Next: <a href="Comma-Separated-Lists-Generated-from-Structure-Arrays.html#Comma-Separated-Lists-Generated-from-Structure-Arrays" accesskey="n" rel="next">Comma Separated Lists Generated from Structure Arrays</a>, Up: <a href="Comma-Separated-Lists.html#Comma-Separated-Lists" accesskey="u" rel="up">Comma Separated Lists</a> &nbsp; [<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>