<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ --> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Comma Separated Lists Generated from Cell Arrays (GNU Octave (version 5.1.0))</title> <meta name="description" content="Comma Separated Lists Generated from Cell Arrays (GNU Octave (version 5.1.0))"> <meta name="keywords" content="Comma Separated Lists Generated from Cell Arrays (GNU Octave (version 5.1.0))"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="makeinfo"> <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.indentedblock {margin-right: 0em} blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} blockquote.smallquotation {font-size: smaller} div.display {margin-left: 3.2em} div.example {margin-left: 3.2em} div.lisp {margin-left: 3.2em} div.smalldisplay {margin-left: 3.2em} div.smallexample {margin-left: 3.2em} 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.nolinebreak {white-space: nowrap} span.roman {font-family: initial; font-weight: normal} span.sansserif {font-family: sans-serif; font-weight: normal} ul.no-bullet {list-style: none} --> </style> <link rel="stylesheet" type="text/css" href="octave.css"> </head> <body lang="en"> <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> [<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.4.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}] ⇒ 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 ‘<samp>{</samp>’ and ‘<samp>}</samp>’ a new cell array will be created, as the following example illustrates: </p> <div class="example"> <pre class="example">a = {1, rand(2, 2), "three"}; b = { a{ [1, 3] } } ⇒ 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 = {"GNU", "Octave", "is", "Free", "Software"}; printf ("%s ", c{1}, c{2}, c{3}, c{4}, c{5}); -| GNU Octave is Free Software printf ("%s ", 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]; in{2} = inf; in{3} = "last"; in{4} = "first"; out = cell (4, 1); [out{1:3}] = in{1 : 3}; [out{4:6}] = in{[1, 2, 4]}) ⇒ out = { [1,1] = 10 20 30 [2,1] = Inf [3,1] = last [4,1] = 10 20 30 [5,1] = Inf [6,1] = first } </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> [<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>