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 }
In general nested cell arrays are displayed hierarchically as above. In
some circumstances it makes sense to reference them by their index, and
this can be performed by the celldisp
function.
Recursively display the contents of a cell array. By default the values are displayed with the name of the variable c. However, this name can be replaced with the variable name.
See also: disp.