Main Content

cell

Descripción

Un arreglo de celdas es un tipo de dato con contenedores de datos indexados llamados celdas, donde cada celda puede contener cualquier tipo de datos. Comúnmente, los arreglos de celdas contienen listas de texto, combinaciones de texto y números, o arreglos numéricos de distintos tamaños. Para referirse a conjuntos de celdas, escriba índices entre paréntesis, (). Para acceder al contenido de las celdas, indexe mediante llaves: {}.

Creación

Cuando tenga datos que agregar en un arreglo de celdas, cree el arreglo con el operador de construcción de arreglos de celdas, {}.

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

También puede utilizar {} para crear un arreglo de celdas de 0 por 0 vacío.

C = {}
C =

  0x0 empty cell array

Para crear una arreglo de celdas con un tamaño específico, utilice la función cell que se describe más abajo.

Puede utilizar cell para asignar previamente un arreglo de celdas al que asignará datos después. cell también convierte ciertos tipos de estructuras de datos de Java®, .NET, y Python® en arreglos de celdas de objetos de MATLAB® equivalentes.

Descripción

ejemplo

C = cell(n) devuelve un arreglo de celdas de matrices vacías de n por n.

ejemplo

C = cell(sz1,...,szN) devuelve un arreglo de celdas de matrices vacías de sz1 por...por szN donde sz1,...,szN indica el tamaño de cada dimensión. Por ejemplo, cell(2,3) devuelve un arreglo de celdas de 2 por 3.

ejemplo

C = cell(sz) devuelve un arreglo de celdas de matrices vacías donde el vector de tamaño sz define size(C). Por ejemplo, cell([2 3]) devuelve un arreglo de celdas de 2 por 3.

D = cell(obj) convierte un arreglo de Java, un arreglo de .NET System.String o System.Object, o una secuencia de Python en un arreglo de celdas de MATLAB.

Argumentos de entrada

expandir todo

Tamaño de un arreglo de celdas cuadrado, especificado como valor entero.

  • Si n es 0, C es un arreglo de celdas vacío.

  • 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 del arreglo de celdas, especificados como valores enteros.

  • Si el tamaño de una dimensión cualquiera es 0, C es un arreglo de celdas vacío.

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

  • Más allá de la segunda dimensión, cell ignora las dimensiones finales de tamaño 1. Por ejemplo, cell(3,1,1,1) produce un arreglo de celdas de matrices vacías de 3 por 1.

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

Tamaño, especificado como vector fila de enteros. Cada elemento de sz indica el tamaño de la dimensión correspondiente.

  • Si el tamaño de una dimensión cualquiera es 0, C es un arreglo de celdas vacío.

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

  • Más allá de la segunda dimensión, cell ignora las dimensiones finales de tamaño 1. Por ejemplo, cell([3 1 1 1]) produce un arreglo de celdas de matrices vacías de 3 por 1.

Ejemplo: sz = [2 3 4] crea un arreglo de celdas de matrices vacías de 2 por 3 por 4.

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

Arreglo de entrada, especificado como:

  • Arreglo u objeto de Java

  • Arreglo de .NET de tipo System.String o System.Object

  • Tipo de secuencia de Python

Argumentos de salida

expandir todo

Arreglo de salida, devuelto como arreglo de celdas. Cada celda contiene un arreglo vacío de 0 por 0 del tipo double.

Arreglo convertido, devuelto como arreglo de celdas.

Cada celda contiene un objeto de MATLAB con un tipo lo más parecido posible al correspondiente tipo de Java, .NET, o Python. Para obtener más información, consulte:

Ejemplos

contraer todo

Cuando fragmentos de datos relacionados tienen diferentes tipos de datos, puede mantenerlos juntos en un arreglo de celdas. Cada celda contiene un fragmento de datos. Para referirse a elementos de un arreglo de celdas, utilice la indexación de arreglos. Puede indexar en un arreglo de celdas utilizando paréntesis, (), y en los contenidos de las celdas utilizando llaves, {}.

Cree un arreglo de celdas que contenga varias lecturas de temperatura de una fecha dada. Especifique una fecha como vector de caracteres y las temperaturas como un arreglo de dobles. Para guardar estos fragmentos de datos en un arreglo de celdas, enciérrelos entre llaves.

C = {'2017-08-16',[56 67 78]}
C=1×2 cell array
    {'2017-08-16'}    {[56 67 78]}

Añada lecturas de diferentes fechas al arreglo de celdas. Una forma de añadir más celdas es expandir el arreglo de celdas mediante asignación, del mismo modo que se expande un arreglo ordinario.

C(2,:) = {'2017-08-17',[58 69 79]};
C(3,:) = {'2017-08-18',[60 68 81]}
C=3×2 cell array
    {'2017-08-16'}    {[56 67 78]}
    {'2017-08-17'}    {[58 69 79]}
    {'2017-08-18'}    {[60 68 81]}

Indexe en la primera fila de C. Cuando indexa con paréntesis, (), el resultado es un arreglo de celdas que es un subconjunto del arreglo de celdas.

C(1,:)
ans=1×2 cell array
    {'2017-08-16'}    {[56 67 78]}

Indexe en los contenidos de una celda. Cuando indexa con llaves, {}, el resultado es el fragmento de datos que se contiene en la celda especificada.

C{1,2}
ans = 1×3

    56    67    78

Cree un arreglo de celdas de matrices vacías de 3 por 3.

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

Cree un arreglo de celdas de matrices vacías de 3 por 4 por 2.

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

     3     4     2

Cree un arreglo de celdas de matrices vacías con el mismo tamaño que un arreglo existente.

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

Es habitual combinar las dos líneas anteriores de código en una única línea.

C = cell(size(A));

Sugerencias

  • Crear un arreglo de celdas de matrices vacías con la función cell es equivalente a asignar una matriz vacía al último índice de un nuevo arreglo de celdas. Por ejemplo, estas dos instrucciones son equivalentes:

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

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a

expandir todo

El comportamiento cambió en R2019a