MATLAB Programming/Arrays/Cell Arrays

< MATLAB Programming‎ | Arrays(Redirected from MATLAB Programming/Cell Arrays)

Cell Array IntroductionEdit

Cell Arrays can contain differing information in every element. These types of arrays are useful when interacting with spreadsheet software.

Creating Cell ArraysEdit

Cell arrays follow the same conventions as regular arrays except instead of square brackets use curly brackets.

 array = [1, 2, 3; 4, 5, 6];
 cell_array = {1, 2, 3; 4, 5, 6};

Cell arrays have fewer limitations than regular arrays. The regular array can hold strings; however, the string in each element must be the same length. If one element in a regular array is a string then all elements must be a string. Cell arrays have neither of these limitations.

 cell_array = {1, 2, 'a', 'abc'; rand(3, 2), magic(3), eye(3), 'junk'}
   cell_array = 
     [         1]    [         2]    'a'             'abc' 
     [3x2 double]    [3x3 double]    [3x3 double]    'junk' 

With fewer limitations for the content of a cell array comes complications. While cell arrays are a powerful tool, these arrays work differently because each element can be almost anything.

Dynamic ResizingEdit

Cell arrays can be dynamically resized, which is a key feature in more advanced data structures. For example, a queue data structure using the commands:


An element can be popped from the front of the queue using the commands:

 cell_array(1)=[]; % remove first element - resize
 cell_array(1)=[]; % remove first element - resize


GUI TablesEdit

Cell arrays are used when displaying a table to a figure.


Converting to and from cell arraysEdit

Converting From a Numeric Array into a Cell ArrayEdit

Use num2cell to convert from a numeric into a cell array.

 >> cell_array = num2cell(numeric_array);

Converting From a Cell Array into a Numeric ArrayEdit

Use cell2mat to convert from a cell into a numeric array.

 >> numeric_array = cell2mat(numeric_cell_array);

External LinksEdit