Tipos de Datos en MATLAB: Guía Completa de Conversión y Determinación
MATLAB no requiere declaración de tipo ni sentencias de dimensión. Al encontrar un nombre de variable nuevo, crea la variable y asigna memoria apropiada.
Si la variable ya existe, MATLAB reemplaza el contenido original y asigna nuevo espacio de almacenamiento si es necesario.
Ejemplo:
Total = 42
Crea una matriz 1x1 llamada 'Total' con valor 42.
Tipos de Datos Disponibles en MATLAB
MATLAB proporciona 15 tipos de datos fundamentales (más clases de usuario y Java). Cada tipo almacena datos como matriz/array de tamaño mínimo 0x0, escalable a cualquier tamaño.
| Nº | Tipo de Dato y Descripción |
|---|---|
| 1 | int8 Entero con signo de 8 bits |
| 2 | uint8 Entero sin signo de 8 bits |
| 3 | int16 Entero con signo de 16 bits |
| 4 | uint16 Entero sin signo de 16 bits |
| 5 | int32 Entero con signo de 32 bits |
| 6 | uint32 Entero sin signo de 32 bits |
| 7 | int64 Entero con signo de 64 bits |
| 8 | uint64 Entero sin signo de 64 bits |
| 9 | single Datos numéricos de precisión simple |
| 10 | double Datos numéricos de doble precisión (por defecto) |
| 11 | logical Valores lógicos 1 (true) o 0 (false) |
| 12 | char Datos de carácter (strings como vector de caracteres) |
| 13 | cell array Array de celdas indexadas, cada una capaz de almacenar array de distinta dimensión y tipo |
| 14 | structure Estructuras tipo C, con campos nombrados que almacenan arrays de distinta dimensión y tipo |
| 15 | function handle Puntero a una función |
| 16 | user classes Objetos construidos desde clase definida por usuario |
| 17 | java classes Objetos construidos desde clase Java |
Ejemplo
Crea script con el siguiente código:
Demo en vivostr = '¡Hola Mundo!' n = 2345 d = double(n) un = uint32(789.50) rn = 5678.92347 c = int32(rn)
Al compilar y ejecutar:
str = ¡Hola Mundo! n = 2345 d = 2345 un = 790 rn = 5678.9 c = 5679
Conversión de Tipos de Datos
MATLAB proporciona funciones para convertir valores entre tipos.
| Función | Propósito |
|---|---|
| char | Convertir a array de caracteres (string) |
| int2str | Convertir entero a string |
| mat2str | Convertir matriz a string |
| num2str | Convertir número a string |
| str2double | Convertir string a double |
| str2num | Convertir string a número |
| native2unicode | Convertir bytes numéricos a caracteres Unicode |
| unicode2native | Convertir caracteres Unicode a bytes numéricos |
| base2dec | Convertir string base N a decimal |
| bin2dec | Convertir string binario a decimal |
| dec2base | Convertir decimal a base N en string |
| dec2bin | Convertir decimal a binario en string |
| dec2hex | Convertir decimal a hexadecimal en string |
| hex2dec | Convertir string hexadecimal a decimal |
| hex2num | Convertir string hexadecimal a double |
| num2hex | Convertir single/double a string hex IEEE |
| cell2mat | Convertir cell array a array numérico |
| cell2struct | Convertir cell array a struct array |
| cellstr | Crear cell array de strings desde array caracteres |
| mat2cell | Convertir array a cell array con celdas de distinto tamaño |
| num2cell | Convertir array a cell array con celdas de tamaño consistente |
| struct2cell | Convertir struct a cell array |
Determinación de Tipos de Datos
Funciones para identificar el tipo de dato de una variable:
| Función | Propósito |
|---|---|
| is | Detectar estado |
| isa | Determinar si entrada es objeto de clase especificada |
| iscell | Determinar si entrada es cell array |
| iscellstr | Determinar si entrada es cell array de strings |
| ischar | Determinar si elemento es array de caracteres |
| isfield | Determinar si entrada es campo de struct array |
| isfloat | Determinar si entrada es array punto flotante |
| ishghandle | True para handles de gráficos |
| isinteger | Determinar si entrada es array entero |
| isjava | Determinar si entrada es objeto Java |
| islogical | Determinar si entrada es array lógico |
| isnumeric | Determinar si entrada es array numérico |
| isobject | Determinar si entrada es objeto MATLAB |
| isreal | Verificar si entrada es array real |
| isscalar | Determinar si entrada es escalar |
| isstr | Determinar si entrada es array de caracteres |
| isstruct | Determinar si entrada es struct array |
| isvector | Determinar si entrada es vector |
| class | Determinar clase de objeto |
| validateattributes | Verificar validez de array |
| whos | Listar variables en workspace con tamaños y tipos |
Ejemplo
Crea script con el siguiente código:
Demo en vivox = 3 isinteger(x) isfloat(x) isvector(x) isscalar(x) isnumeric(x) x = 23.54 isinteger(x) isfloat(x) isvector(x) isscalar(x) isnumeric(x) x = [1 2 3] isinteger(x) isfloat(x) isvector(x) isscalar(x) x = 'Hola' isinteger(x) isfloat(x) isvector(x) isscalar(x) isnumeric(x)
Al ejecutar:
x = 3 ans = 0 ans = 1 ans = 1 ans = 1 ans = 1 x = 23.540 ans = 0 ans = 1 ans = 1 ans = 1 ans = 1 x = 1 2 3 ans = 0 ans = 1 ans = 1 ans = 0 x = Hola ans = 0 ans = 0 ans = 1 ans = 0 ans = 0
MATLAB
- 5 Modelos de Centros de Datos Explicados: Diseño, Casos de Uso y Ejemplos
- Ocho Modelos Clave de Computación en la Nube en 2021
- 8 Tipos Comunes de Violación de Datos: Ejemplos Reales e Impacto
- Domine variables y tipos de datos primitivos en C#: Guía completa
- Entendiendo los Tipos de Datos en C++: Fundamentos, Modificadores y Mejores Prácticas
- Tipos de datos en C explicados: int, float, char y más – guía completa
- Entendiendo los tipos de datos en C: Guía completa
- MATLAB: Visión General del Entorno Líder en Computación Numérica
- Variables en MATLAB: Conceptos Básicos y Ejemplos Prácticos
- Dominando tipos de datos en Python: Guía práctica
- Tipos de Datos Primitivos en Java: Guía Completa con Ejemplos