cell2mat
Convertir un arreglo de celdas en un arreglo ordinario
Sintaxis
Descripción
A = cell2mat(
convierte un arreglo de celdas en un arreglo ordinario.C
)
El contenido de C
debe admitir la concatenación en un rectángulo de N dimensiones. De lo contrario, los resultados quedan sin definir. Por ejemplo, el contenido de las celdas de la misma columna debe tener el mismo número de columnas, aunque no es necesario que estas tengan el mismo número de filas.
Ejemplos
Convierta arreglos numéricos en cuatro celdas de un arreglo de celdas en un único arreglo numérico.
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
Convierta las estructuras de un arreglo de celdas en un único arreglo de estructuras. Las estructuras deben tener los mismos campos.
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
Muestre el primer campo de la estructura d(1)
.
d(1).a
ans = 1×4
1 2 3 4
Muestre el segundo campo de d(2)
.
d(2).b
ans = 'Morning'
Desde R2025a
Convierta un arreglo de celdas que contiene diferentes tipos de datos en un arreglo ordinario.
Cree un arreglo de celdas que contenga valores de tipo single
y 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]}
Convierta el arreglo de celdas en un arreglo numérico. El arreglo resultante es single
.
D = cell2mat(C)
D = 2×3 single matrix 1 2 3 2 4 6
Argumentos de entrada
Arreglo de celdas de entrada. Si todos los contenidos de las celdas tienen el mismo tipo de datos, el arreglo resultante tendrá ese tipo de datos. La función puede concatenar celdas que contengan estructuras si dichas estructuras tienen los mismos nombres de campo.
Las celdas pueden tener diferentes tipos de datos si MATLAB® puede convertir los tipos de datos a un único tipo de salida. Para ver ejemplos de combinaciones de tipos de datos básicos y sus tipos resultantes, consulte Valid Combinations of Unlike Classes.
cell2mat
también acepta arreglos de celdas que contengan objetos basados en clases. Para obtener más información sobre cómo pueden combinarse los objetos basados en clases, consulte Concatenating Objects of Different Classes.
cell2mat
no acepta celdas anidadas en C
.
Capacidades ampliadas
La función cell2mat
es compatible con arreglos altos con las siguientes notas y limitaciones de uso:
Las celdas del arreglo de celdas de entrada deben contener tipos de datos numéricos, lógicos o de caracteres.
Para obtener más información, consulte Arreglos altos.
Notas y limitaciones de uso:
La generación de código no es compatible con
cell2mat
para arreglos de celdas desacotados o de tamaño variable que contengan arreglos dispersos.Los arreglos o estructuras presentes en entradas de arreglos de celdas desacotados o de tamaño variable con una dimensión mayor a 2 no son compatibles con la generación de código con la función
cell2mat
.Para una entrada en tiempo de ejecución de celda vacía,
cell2mat
devuelve una celda vacía del mismo tipo de datos. Para una entrada en tiempo de compilación de celda vacía,cell2mat
devuelve una celda vacía del tipodouble
.
Esta función es totalmente compatible con entornos basados en subprocesos. Para obtener más información, consulte Ejecutar funciones de MATLAB en entornos basados en subprocesos.
La función cell2mat
es totalmente compatible con arreglos de celdas que contengan objetos gpuArray
(Parallel Computing Toolbox). Para obtener más información, consulte Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Esta función es totalmente compatible con los arreglos distribuidos. Para obtener más información, consulte Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Historial de versiones
Introducido antes de R2006aEn versiones anteriores a R2025a, cell2mat
aceptaba tipos numéricos, lógicos y de caracteres, así como estructuras con los mismos nombres de campo. Todas las celdas del arreglo de entrada debían tener el mismo tipo de datos.
cell2mat
ahora puede aceptar arreglos de celdas que contengan tipos de datos adicionales, como cadenas, categóricos, objetos gpuArray
y objetos basados en clases.
La función también puede convertir un arreglo de celdas que contiene diferentes tipos de datos si MATLAB puede convertir esos tipos de datos a un tipo de salida. Para ver ejemplos de combinaciones de tipos de datos básicos y sus tipos resultantes, consulte Valid Combinations of Unlike Classes.
Si el arreglo de celdas contiene objetos basados en distintas clases, MATLAB intenta concatenarlos. Para obtener más información, consulte Concatenating Objects of Different Classes.
Consulte también
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.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- 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)