Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

cell

Descripción

Una matriz de celdas es un tipo de datos con contenedores de datos indizados denominados Cells, donde cada celda puede contener cualquier tipo de datos. Las matrices de celdas comúnmente contienen listas de texto, combinaciones de texto y números o matrices numéricas de diferentes tamaños. Consulte conjuntos de celdas mediante el cierre de índices en paréntesis lisos, (). Acceda al contenido de las celdas indexando con llaves, {}.

Creación

Cuando tenga datos para colocar en una matriz de celdas, cree la matriz mediante el operador de construcción de la matriz de celdas, {}.

C = {1,2,3;
     'text',rand(5,10,2),{11; 22; 33}}
C = 2x3 cell array
    {[   1]}    {[          2]}    {[     3]}
    {'text'}    {5x10x2 double}    {3x1 cell}

También puede utilizar {} para crear una matriz de celdas vacía de 0 por 0.

C = {}
C =

  0x0 empty cell array

Para crear una matriz de celdas con un tamaño especificado, utilice la función cell , que se describe a continuación.

Puede utilizar cell para preasignar una matriz de celdas a la que asigne datos más adelante. cell también convierte ciertos tipos de estructuras de datos Java® , .net, y Python® a matrices de objetos MATLAB® equivalentes.

Descripción

ejemplo

C = cell(n) devuelve una matriz n-by-n de matrices vacías.

ejemplo

C = cell(sz1,...,szN) devuelve una matriz sz1-by-...-by-szN de matrices vacías donde sz1,...,szN indican el tamaño de cada dimensión. Por ejemplo, cell(2,3) devuelve una matriz de celdas de 2 por 3.

ejemplo

C = cell(sz) devuelve una matriz de celdas vacías donde size vector sz define size(C). Por ejemplo, cell([2 3]) devuelve una matriz de celdas de 2 por 3.

ejemplo

D = cell(obj) Python convierte un Java array, .net System.String o System.Object array, o secuencia en un MATLAB matriz de celdas ® .

Argumentos de entrada

expandir todo

Tamaño de una matriz de celdas cuadradas, especificada como un valor entero.

  • Si n es 0, C es una matriz de celdas vacía.

  • Si n es negativo, se trata como 0.

Tipos de datos: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Tamaños de las dimensiones de la matriz de celdas, especificadas como valores enteros.

  • Si el tamaño de cualquier dimensión es 0, C es una matriz de celdas vacía.

  • Si el tamaño de cualquier dimensión es negativo, se trata como 0.

  • Más allá de la segunda dimensión, cell omite las cotas de arrastre con un tamaño de 1. Por ejemplo, cell(3,1,1,1) produce una matriz de celdas vacías de 3 por 1.

Tipos de datos: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Tamaño, especificado como un vector de fila de números enteros. Cada elemento de sz indica el tamaño de la cota correspondiente.

  • Si el tamaño de cualquier dimensión es 0, C es una matriz de celdas vacía.

  • Si el tamaño de cualquier dimensión es negativo, se trata como 0.

  • Más allá de la segunda dimensión, cell omite las cotas de arrastre con un tamaño de 1. Por ejemplo, cell([3 1 1 1]) produce una matriz de celdas vacías de 3 por 1.

Ejemplo: sz = [2 3 4] crea una matriz de celdas vacías de 2 por 3 por 4.

Tipos de datos: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Array de entrada, especificado como:

  • Java objeto o matriz de

  • mAtriz .net de tipo System.String o System.Object

  • Python tipo de secuencia de

Argumentos de salida

expandir todo

Matriz de salida, devuelta como una matriz de celdas. Cada celda contiene una matriz vacía de 0 por 0 de tipo double.

Matriz convertida, devuelta como una matriz de celdas.

Cada celda contiene un objeto MATLAB que tiene un tipo más cercano al tipo Java , .net, o Python correspondiente. Para obtener más información, consulte:

Ejemplos

contraer todo

Cuando las piezas de datos relacionadas tienen diferentes tipos de datos, puede mantenerlas juntas en una matriz de celdas. Cada celda contiene un dato. Para hacer referencia a los elementos de una matriz de celdas, utilice la indización de matrices. Se puede indexar en una matriz de celdas utilizando paréntesis lisos, ()y en el contenido de las celdas mediante llaves rizadas, {}.

Cree una matriz de celdas que contenga varias lecturas de temperatura tomadas en una fecha determinada. Especifique una fecha como vector de carácter y las temperaturas como una matriz de dobles. Para almacenar estos trozos de datos en una matriz de celdas, encerrarlos en llaves rizadas.

C = {'2017-08-16',[56 67 78]}
C = 1x2 cell array
    {'2017-08-16'}    {1x3 double}

Añada lecturas para fechas diferentes a la matriz de celdas. Una forma de agregar más celdas es expandir la matriz de celdas por asignación, de la misma manera que se puede expandir una matriz ordinaria.

C(2,:) = {'2017-08-17',[58 69 79]};
C(3,:) = {'2017-08-18',[60 68 81]}
C = 3x2 cell array
    {'2017-08-16'}    {1x3 double}
    {'2017-08-17'}    {1x3 double}
    {'2017-08-18'}    {1x3 double}

Index en la primera fila de C. Al indexar con paréntesis suavizados, (), el resultado es una matriz de celdas que es un subconjunto de la matriz de celdas.

C(1,:)
ans = 1x2 cell array
    {'2017-08-16'}    {1x3 double}

Índice en el contenido de una celda. Al indexar con llaves rizadas, {}, el resultado es la pieza de datos que se incluye en la celda especificada.

C{1,2}
ans = 1×3

    56    67    78

Cree una matriz de celdas vacías de 3 por 3.

C = cell(3)
C = 3x3 cell array
    {0x0 double}    {0x0 double}    {0x0 double}
    {0x0 double}    {0x0 double}    {0x0 double}
    {0x0 double}    {0x0 double}    {0x0 double}

Cree una matriz de celdas vacías de 3 por 4 por 2.

C = cell(3,4,2);
size(C)
ans = 1×3

     3     4     2

Cree una matriz de celdas vacías que tenga el mismo tamaño que una matriz existente.

A = [7 9; 2 1; 8 3];
sz = size(A);
C = cell(sz)
C = 3x2 cell array
    {0x0 double}    {0x0 double}
    {0x0 double}    {0x0 double}
    {0x0 double}    {0x0 double}

Es un patrón común para combinar las dos líneas anteriores de código en una sola línea.

C = cell(size(A));

Convierta una matriz de objetos java.lang.String en una matriz de celdas.

X = java_array('java.lang.String', 3);
X(1) = java.lang.String('one');
X(2) = java.lang.String('two');
X(3) = java.lang.String('three');
D = cell(X)
D = 

    'one'
    'two'
    'three'

Convierta una matriz .net de objetos System.Double en una matriz de celdas.

N = NET.createArray('System.Double[]',2);
N(1) = [13 7 30];
N(2) = 42;
D = cell(N)
D = 

    [1x3 double]    [42]

Sugerencias

  • La creación de una matriz de celdas vacías con la función cell equivale a asignar una matriz vacía al último índice de una nueva matriz de celdas. Por ejemplo, estas dos afirmaciones son equivalentes:

    C = cell(3,4,2);
    C{3,4,2} = [];

Capacidades ampliadas

Introducido antes de R2006a