Contenu principal

cell2mat

Convertir un cell array en tableau ordinaire

Description

A = cell2mat(C) convertit un cell array en un tableau ordinaire.

Le contenu de C doit supporter la concaténation en un rectangle de N dimensions. À défaut, les résultats seront indéfinis. Par exemple, le contenu des cellules d’une même colonne doit avoir le même nombre de colonnes bien qu’il ne soit pas nécessaire qu’il ait le même nombre de lignes.

Cell array with six cells concatenated into one ordinary array

exemple

Exemples

réduire tout

Convertissez les tableaux numériques de quatre cellules d’un cell array en un tableau numérique unique.

C = {[1],    [2 3 4];
     [5; 9], [6 7 8; 10 11 12]}
C=2×2 cell array
    {[       1]}    {[   2 3 4]}
    {2×1 double}    {2×3 double}

A = cell2mat(C)
A = 3×4

     1     2     3     4
     5     6     7     8
     9    10    11    12

Convertissez les structures d’un cell array en un tableau à structure unique. Les structures doivent comporter les mêmes champs.

s1.a = [1 2 3 4];
s1.b = 'Good';
s2.a = [5 6; 7 8];
s2.b = 'Morning';
c = {s1,s2};
d = cell2mat(c)
d=1×2 struct array with fields:
    a
    b

Affichez le premier champ de la structure d(1).

d(1).a
ans = 1×4

     1     2     3     4

Affichez le deuxième champ de d(2).

d(2).b
ans = 
'Morning'

Depuis R2025a

Convertissez un cell array contenant différents types de données en un tableau ordinaire.

Créez un cell array contenant des valeurs single et double.

a = single([1 2 3]);
b = double([2 4 6]);
C = {a;b}
C =

  2×1 cell array

    {[1 2 3]}
    {[2 4 6]}

Convertissez le cell array en tableau numérique. Le tableau résultant est de type single.

D = cell2mat(C)
D =

  2×3 single matrix

     1     2     3
     2     4     6

Arguments d'entrée

réduire tout

Cell array en entrée. Si le contenu des cellules est d’un seul et même type de données, le tableau résultant a ce même type. La fonction peut concaténer des cellules contenant des structures si ces structures ont les mêmes noms de champs.

Les cellules peuvent contenir différents types de données si MATLAB® peut convertir ces types en un seul type de sortie. Pour des exemples de combinaisons de types de données de base et des types résultants, consultez Valid Combinations of Text and Numeric Datatypes.

cell2mat accepte également les cell arrays contenant des objets basés sur des classes. Pour des informations sur la combinaison d’objets basés sur des classes, consultez Concatenating Objects of Different Classes.

cell2mat n’accepte pas les cellules imbriquées dans C.

Capacités étendues

développer tout

Historique des versions

Introduit avant R2006a

développer tout