# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

## Access Data in Cell Array

This example shows how to read and write data to and from a cell array.

Create a 2-by-3 cell array of text and numeric data.

C = {'one', 'two', 'three';
1, 2, 3}
C = 2x3 cell array
{'one'}    {'two'}    {'three'}
{[  1]}    {[  2]}    {[    3]}

There are two ways to refer to the elements of a cell array. Enclose indices in smooth parentheses, (), to refer to sets of cells--for example, to define a subset of the array. Enclose indices in curly braces, {}, to refer to the text, numbers, or other data within individual cells.

### Cell Indexing with Smooth Parentheses, ()

Cell array indices in smooth parentheses refer to sets of cells. For example, to create a 2-by-2 cell array that is a subset of C, use smooth parentheses.

upperLeft = C(1:2,1:2)
upperLeft = 2x2 cell array
{'one'}    {'two'}
{[  1]}    {[  2]}

Update sets of cells by replacing them with the same number of cells. For example, replace cells in the first row of C with an equivalent-sized (1-by-3) cell array.

C(1,1:3) = {'first','second','third'}
C = 2x3 cell array
{'first'}    {'second'}    {'third'}
{[    1]}    {[     2]}    {[    3]}

If cells in your array contain numeric data, you can convert the cells to a numeric array using the cell2mat function.

numericCells = C(2,1:3)
numericCells = 1x3 cell array
{[1]}    {[2]}    {[3]}

numericVector = cell2mat(numericCells)
numericVector =

1     2     3

numericCells is a 1-by-3 cell array, but numericVector is a 1-by-3 array of type double.

### Content Indexing with Curly Braces, {}

Access the contents of cells--the numbers, text, or other data within the cells--by indexing with curly braces. For example, to access the contents of the last cell of C, use curly braces.

last = C{2,3}
last = 3

last is a numeric variable of type double, because the cell contains a double value.

Similarly, you can index with curly braces to replace the contents of a cell.

C{2,3} = 300
C = 2x3 cell array
{'first'}    {'second'}    {'third'}
{[    1]}    {[     2]}    {[  300]}

You can access the contents of multiple cells by indexing with curly braces. MATLAB® returns the contents of the cells as a comma-separated list. Because each cell can contain a different type of data, you cannot assign this list to a single variable. However, you can assign the list to the same number of variables as cells. MATLAB® assigns to the variables in column order.

Assign contents of four cells of C to four variables.

[r1c1, r2c1, r1c2, r2c2] = C{1:2,1:2}
r1c1 =
'first'
r2c1 = 1
r1c2 =
'second'
r2c2 = 2

If each cell contains the same type of data, you can create a single variable by applying the array concatenation operator, [], to the comma-separated list.

Concatenate the contents of the second row into a numeric array.

nums = [C{2,:}]
nums =

1     2   300

## Related Topics

Was this topic helpful?

#### The Manager's Guide to Solving the Big Data Conundrum

Download white paper