Guías prácticas

Organización y acceso a datos en MATLAB

Esta referencia muestra casos prácticos comunes, por lo que no es una lista exhaustiva.

Representación de datos
Homogéneos
Tipo de datos Icono Propósito Sintaxis
Dobles, simples, (u)int8, (u)int16, (u)int32, (u)int64, complejos
Dobles, simples, complejos
Arrays numéricos, cálculos matriciales, matemáticas [1,2,3], [1;2;3], uint8(), int16()
Cadenas
Cadenas
Arrays de texto "hello world"
Caracteres
Caracteres
Caracteres individuales, arrays de caracteres 'hello'
Categóricos
Categóricos
Datos discretos no numéricos categorical()
Fecha y hora
Fecha y hora
Fechas absolutas y marcas de tiempo, incluyendo zonas horarias datetime('July 12, 2001 08:15:01')
Duración
Duración
Tiempos transcurridos duration(h,m,s), hours(), minutes()
Duración de calendario
Duración de calendario
Tiempo relativo basado en el calendario caldays(), calweeks()
Lógicos
Lógicos
Verdadero/falso, comprobación de estado, identificación de datos según condición logical(), ==, ~=, >, >=, <, <=, &, &&, |, ||
Otros tipos especializados
Otros tipos especializados
dispersos, enumeraciones, personalizados… » Documentación
Heterogéneos
Tipo de datos Icono Propósito Sintaxis
Table
Tabla
Datos de tipos mixtos orientados a columnas (como en una hoja de cálculo).
Almacenamiento de metadatos
table(x,y,z), array2table
Tabla temporal
Tabla temporal
Datos tabulares con marcas de tiempo timetable(t,x,y) table2timetable,array2timetable
Estructura
Estructura
Los campos pueden contener datos de cualquier tamaño y tipo. Ideal para datos no rectangulares. struct()
Array de celdas
Array de celdas
Cada celda del array puede contener datos de cualquier tipo y tamaño cell(), {pi,ones(5), "hello"}
Tall array
Tall array
Los tipos de datos de MATLAB se pueden convertir en "tall" cuando los datos no caben en la memoria ds = datastore(), T = tall(ds)
Dictionary
Dictionary
Objeto que asigna claves únicas a valores d = dictionary(keys,values)
Selección de datos
Utilice indexación de arrays para seleccionar datos.  
Indexación lineal para arrays en 1D:
X(1) Primer elemento
X(end) Último elemento
 
 
 
Indexación por filas y columnas para arrays multidimensionales:
A(1,2)
A(1,1,2)
   
   
Seleccione múltiples elementos con un vector:
A([1,3],1)
   
   
   
Utilice dos puntos (:) para seleccionar un intervalo:
A(1:3,1)
A(:,1) Todas las filas, columna 1
A(1,:) Fila 1, todas las columnas
A(1:2:end,:) Filas alternas
   
   
   
Elimine datos del array:
A(1,:) = [];
Indexación lógica

Utilice expresiones lógicas para seleccionar datos

Elementos de X mayores que 7:
Y = X(X > 7)

Combine condiciones
X(X > 3 & X <= 7)
X(X > 3 | X <= 7)

Arrays multidimensionales
Utilice una condición para identificar filas o columnas:
idx = X > 7;
X(idx, :)

Tablas y tablas temporales
T(:,vartype('numeric'))
TT(timerange(t1,t2),:)

Indexación de contenedores
Utilizar paréntesis () en la indexación permite conservar el tipo de datos inicial. Acceda a los datos subyacentes con llaves {}. Las tablas y estructuras también permiten hacer referencia a los datos por su nombre.

» Ejemplos

Tipo Subconjunto Contenido
Table Devuelve una tabla: T(1,2)
T(:,"A")
T(:,["A","B"])
Devuelve los datos subyacentes:
T{1,2}
T{:,"A"} T.A

T.Rows
T.Variables
Tabla temporal Igual que arriba:
TT("Apr 1,... 2004",5)
Igual que arriba:
TT.Time
Array de celdas Devuelve una celda:
C(1,2)
C{1,2}
C{:} -> lista separada por comas
Estructura Devuelve una estructura:
S(1,1)
S.Field