Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 3e60ff9d4d6f58c8fbd17208f14089fa > files > 98

octave-doc-3.2.3-3mdv2010.0.i586.rpm

<html lang="en">
<head>
<title>Comma Separated Lists Generated from Cell Arrays - Untitled</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Untitled">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Comma-Separated-Lists.html#Comma-Separated-Lists" title="Comma Separated Lists">
<link rel="next" href="Comma-Separated-Lists-Generated-from-Structure-Arrays.html#Comma-Separated-Lists-Generated-from-Structure-Arrays" title="Comma Separated Lists Generated from Structure Arrays">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="Comma-Separated-Lists-Generated-from-Cell-Arrays"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Comma-Separated-Lists-Generated-from-Structure-Arrays.html#Comma-Separated-Lists-Generated-from-Structure-Arrays">Comma Separated Lists Generated from Structure Arrays</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Comma-Separated-Lists.html#Comma-Separated-Lists">Comma Separated Lists</a>
<hr>
</div>

<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:

<pre class="example">     a = {1, [2, 3], 4, 5, 6};
     b = [a{1:4}]
          &rArr; b =
              1   2   3   4
</pre>
   <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><span class="samp">{</span></samp>&rsquo; and &lsquo;<samp><span class="samp">}</span></samp>&rsquo; a new cell array will be created, as the
following example illustrates:

<pre class="example">     a = {1, rand(2, 2), "three"};
     b = { a{ [1, 3] } }
          &rArr; b =
              {
                [1,1] =  1
                [1,2] = three
              }
</pre>
   <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:

<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>
   <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

<pre class="example">     in{1} = [10, 20, 30, 40, 50, 60, 70, 80, 90];
     in{2} = inf;
     in{3} = "last";
     in{4} = "first";
     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>
   </body></html>