cell2mat
Convertir un cell array en tableau ordinaire
Syntaxe
Description
A = cell2mat( convertit un cell array en un tableau ordinaire.C)
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.

Exemples
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 6Arguments d'entrée
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
La fonction cell2mat supporte les tall arrays avec les notes d’usage et limitations suivantes :
Les cellules du cell array en entrée doivent contenir des types de données numériques, logiques ou des caractères.
Pour plus d’informations, consultez Tall array.
Notes d’usage et limitations :
La génération de code n’est pas supportée pour
cell2mat, pour les cell arrays non délimités ou de taille variable contenant des tableaux creux.Les tableaux ou structures, présents en entrée, dans un cell array de taille variable ou non délimité, dont la dimension est supérieure à 2, ne sont pas supportés pour la génération de code avec la fonction
cell2mat.Pour une cellule vide au run-time en entrée,
cell2matrenvoie une cellule vide avec un type de données identique. Pour une cellule vide au compile-time en entrée,cell2matrenvoie une cellule vide de typedouble.
Consultez les notes d’usage et limitations à la section « Génération de code C/C++ ». Les mêmes notes d’usage et limitations s’appliquent à la génération de code GPU.
La fonction cell2mat supporte entièrement les environnements basés sur des threads. Pour plus d’informations, consultez Run MATLAB Functions in Thread-Based Environment.
La fonction cell2mat supporte entièrement les cell arrays contenant des objets gpuArray (Parallel Computing Toolbox). Pour plus d’informations, consultez Exécuter les fonctions MATLAB sur un GPU (Parallel Computing Toolbox).
La fonction cell2mat supporte entièrement les distributed arrays. Pour plus d’informations, consultez Exécuter les fonctions MATLAB avec des tableaux distribués (Parallel Computing Toolbox).
Historique des versions
Introduit avant R2006aAvant la version R2025a, cell2mat acceptait les types numériques, logiques et les caractères ainsi que ls structures ayant les mêmes noms de champs. Toutes les cellules du tableau en entrée devaient contenir le même type de données.
cell2mat accepte désormais les cell arrays contenant des types de données supplémentaires comme des chaînes de caractères, des données catégorielles, des objets gpuArray et des objets basés sur des classes.
La fonction peut également convertir un cell array contenant 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.
Si le cell array contient des objets basés sur différentes classes, MATLAB essaie de les concaténer. Pour plus d’informations, consultez Concatenating Objects of Different Classes.
Voir aussi
mat2cell | num2cell | cell | cell2table | cell2struct | struct2cell | table2cell | iscell
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)