Next: , Previous: Data Structures, Up: Top


7 Cell Arrays

It can be both necessary and convenient to store several variables of different size or type in one variable. A cell array is a container class able to do just that. In general cell arrays work just like N-dimensional arrays, with the exception of the use of `{' and `}' as allocation and indexing operators.

As an example, the following code creates a cell array containing a string and a 2-by-2 random matrix

     c = {"a string", rand(2, 2)};

And a cell array can be indexed with the { and } operators, so the variable created in the previous example can be indexed like this

     c{1}
          => ans = a string

As with numerical arrays several elements of a cell array can be extracted by indexing with a vector of indexes

     c{1:2}
          => ans =
     
               (,
                 [1] = a string
                 [2] =
     
                    0.593993   0.627732
                    0.377037   0.033643
     
               ,)

The indexing operators can also be used to insert or overwrite elements of a cell array. The following code inserts the scalar 3 on the third place of the previously created cell array

     c{3} = 3
          => c =
     
              {
                [1,1] = a string
                [1,2] =
     
                   0.593993   0.627732
                   0.377037   0.033643
     
                [1,3] =  3
              }