Contenu principal

cell

Description

Un cell array est un type de données comportant des conteneurs de données indexées appelés cellules. Chaque cellule peut contenir n’importe quel type de données. Les cell arrays contiennent généralement des listes de texte, des combinaisons de texte et de nombres ou des tableaux numériques de tailles différentes. Faites référence à des ensembles de cellules en plaçant les indices entre parenthèses (). Accédez au contenu des cellules en les indexant avec des accolades {}.

Création

Quand vous avez des données à intégrer dans un cell array, créez ce dernier avec l’opérateur de construction de cell array {}.

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

Vous pouvez également utiliser {} pour créer un cell array vide de 0 x 0.

C = {}
C =

  0×0 empty cell array

Pour créer un cell array avec une taille spécifiée, utilisez la fonction cell décrite ci-dessous.

Vous pouvez utiliser cell pour préallouer un cell array auquel vous affecterez des données par la suite. cell convertit également certains types de structures de données Java®, .NET et Python® en cell arrays d’objets MATLAB® équivalents.

Description

C = cell(n) renvoie un cell array de matrices vides de dimension n x n.

exemple

C = cell(sz1,...,szN) renvoie un cell array de matrices vides de dimension sz1 x … x szNsz1,...,szN indique la taille de chaque dimension. Par exemple, cell(2,3) renvoie un cell array de 2 x 3.

exemple

C = cell(sz) renvoie un cell array de matrices vides où le vecteur de taille sz définit size(C). Par exemple, cell([2 3]) renvoie un cell array de 2 x 3.

exemple

D = cell(obj) convertit un tableau Java, un tableau .NET System.String ou System.Object ou bien une séquence Python en cell array MATLAB.

Arguments en entrée

développer tout

Taille d’un cell array carré, spécifiée sous forme d’une valeur entière.

  • Si n est égal à 0, C est un cell array vide.

  • Si n est négatif, il est traité comme 0.

Types de données : double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Tailles des dimensions du cell array, spécifiées sous forme de valeurs entières.

  • Si la taille d’une dimension est égale à 0, C est un cell array vide.

  • Si la taille d’une dimension est négative, elle est traitée comme une taille égale à 0.

  • Au-delà de la deuxième dimension, cell ignore les dimensions suivantes de taille 1. Par exemple, cell(3,1,1,1) produit un cell array de matrices vides de dimension 3 x 1.

Types de données : double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Taille, spécifiée sous forme d’un vecteur ligne de nombres entiers. Chaque élément de sz indique la taille de la dimension correspondante.

  • Si la taille d’une dimension est égale à 0, C est un cell array vide.

  • Si la taille d’une dimension est négative, elle est traitée comme une taille égale à 0.

  • Au-delà de la deuxième dimension, cell ignore les dimensions suivantes de taille 1. Par exemple, cell([3 1 1 1]) produit un cell array de matrices vides de dimension 3 x 1.

Exemple : sz = [2 3 4] crée un cell array de matrices vides de dimension 2 x 3 x 4.

Types de données : double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Tableau en entrée, spécifié sous forme de :

  • tableau ou objet Java

  • tableau .NET de type System.String ou System.Object

  • type de séquence Python

Arguments de sortie

développer tout

Tableau en sortie, renvoyé sous forme d’un cell array. Chaque cellule contient un tableau de 0 x 0 vide de type double.

Tableau converti, renvoyé sous forme d’un cell array.

Chaque cellule contient un objet MATLAB du type le plus proche du type Java, .NET ou Python correspondant. Pour plus d’informations, consultez :

Exemples

réduire tout

Lorsque des données associées sont de types différents, vous pouvez les stocker ensemble dans un cell array. Chaque cellule contient une donnée. Pour faire référence aux éléments d’un cell array, utilisez l’indexation de tableau. Vous pouvez indexer un cell array avec des parenthèses () et le contenu des cellules avec des accolades {}.

Créez un cell array contenant plusieurs relevés de température effectués à une date donnée. Spécifiez une date sous forme d’un vecteur de caractères et des températures sous forme d’un tableau de doubles. Pour stocker ces données dans un cell array, mettez-les entre accolades.

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

Ajoutez des relevés pour différentes dates au cell array. L’une des façons d’ajouter des cellules consiste à étendre le cell array par affectation, de la même manière que vous étendez un tableau ordinaire.

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]}

Indexez la première ligne de C. Lorsque vous effectuez une indexation avec des parenthèses (), vous obtenez un cell array qui est un sous-ensemble du cell array d’origine.

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

Indexez le contenu d’une cellule. Lorsque vous effectuez une indexation avec des accolades {}, le résultat est la donnée contenue dans la cellule spécifiée.

C{1,2}
ans = 1×3

    56    67    78

Créez un cell array de matrices vides de dimension 3 x 3.

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

Créez un cell array de matrices vides de dimension 3 x 4 x 2.

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

     3     4     2

Créez un cell array de matrices vides de la même taille qu’un tableau existant.

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

Il est courant de combiner les deux lignes de code précédentes en une seule.

C = cell(size(A));

Conseils

  • La création d’un cell array de matrices vides avec la fonction cell équivaut à affecter une matrice vide au dernier indice d’un nouveau cell array. Par exemple, les deux instructions suivantes sont équivalentes :

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

Capacités étendues

développer tout

Historique des versions

Introduit avant R2006a

développer tout