Next: Cell Arrays of Strings, Previous: Creating Cell Arrays, Up: Cell Arrays
As shown in the introductory example elements can be inserted from cell
arrays using the `{' and `}' operators. Besides the change
of operators, indexing works for cell arrays like for multidimensional
arrays. As an example, all the rows of the first and third column of a
cell array can be set to 0 with the following code
c{:, [1, 3]} = 0;
Accessing values in a cell array is, however, different from the same operation for numerical arrays. Accessing a single element of a cell array is very similar to numerical arrays, for example
element = c{1, 2};
This will, however, not work when accessing multiple elements of a cell array, because it might not be possible to represent all elements with a single variable as is the case with numerical arrays.
Accessing multiple elements of a cell array with the `{' and `}' operators will result in a comma-separated list (see Comma Separated Lists) of all the requested elements as discussed later.
One distinction between `{' and `(' to index cell arrays is in the deletion of elements from the cell array. In a similar manner to a numerical array the `()' operator can be used to delete elements from the cell array. The `{}' operator however will remove the elements of the cell array, but not delete the space for them. For example
x = {'1', '2'; '3', '4'};
x{1, :} = []
=> x =
{
[1,1] = [](0x0)
[2,1] = 3
[1,2] = [](0x0)
[2,2] = 4
}
x(1, :) = []
=> x =
{
[1,1] = 3
[1,2] = 4
}