MATLAB - Tipos de datos
MATLAB no requiere ninguna declaración de tipo o dimensiones. Siempre que MATLAB encuentra un nuevo nombre de variable, crea la variable y asigna el espacio de memoria apropiado.
Si la variable ya existe, MATLAB reemplaza el contenido original con contenido nuevo y asigna nuevo espacio de almacenamiento, cuando sea necesario.
Por ejemplo,
Total = 42
La declaración anterior crea una matriz de 1 por 1 llamada 'Total' y almacena el valor 42 en ella.
Tipos de datos disponibles en MATLAB
MATLAB proporciona 15 tipos de datos fundamentales. Cada tipo de datos almacena datos en forma de matriz o matriz. El tamaño de esta matriz o matriz es un mínimo de 0 por 0 y esto puede crecer hasta una matriz o matriz de cualquier tamaño.
La siguiente tabla muestra los tipos de datos más utilizados en MATLAB:
No Señor. | Tipo de datos y descripción |
---|---|
1 | int8 Entero de 8 bits con signo |
2 | uint8 Entero sin signo de 8 bits |
3 | int16 Entero de 16 bits con signo |
4 | uint16 Entero sin signo de 16 bits |
5 | int32 Entero de 32 bits con signo |
6 | uint32 Entero sin signo de 32 bits |
7 | int64 Entero de 64 bits con signo |
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 |
11 | logical valores lógicos de 1 o 0, representan verdadero y falso respectivamente |
12 | char datos de caracteres (las cadenas se almacenan como vector de caracteres) |
13 | cell array Matriz de celdas indexadas, cada una capaz de almacenar una matriz de diferente dimensión y tipo de datos. |
14 | structure Estructuras similares a C, cada estructura tiene campos con nombre capaces de almacenar una matriz de una dimensión y tipo de datos diferentes |
15 | function handle puntero a una función |
dieciséis | user classes objetos construidos a partir de una clase definida por el usuario |
17 | java classes objetos construidos a partir de una clase Java |
Ejemplo
Cree un archivo de script con el siguiente código:
str = 'Hello World!'
n = 2345
d = double(n)
un = uint32(789.50)
rn = 5678.92347
c = int32(rn)
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
str = Hello World!
n = 2345
d = 2345
un = 790
rn = 5678.9
c = 5679
Conversión de tipo de datos
MATLAB proporciona varias funciones para convertir un valor de un tipo de datos a otro. La siguiente tabla muestra las funciones de conversión de tipos de datos:
Función | Propósito |
---|---|
carbonizarse | Convertir a matriz de caracteres (cadena) |
int2str | Convertir datos enteros en cadenas |
mat2str | Convertir matriz en cadena |
num2str | Convertir número en cadena |
str2double | Convertir cadena en valor de doble precisión |
str2num | Convertir cadena en número |
native2unicode | Convertir bytes numéricos a caracteres Unicode |
unicode2native | Convertir caracteres Unicode en bytes numéricos |
base2dec | Convierta la cadena de números base N a un número decimal |
bin2dec | Convertir una cadena de números binarios en un número decimal |
dec2base | Convertir decimal a base N número en cadena |
dec2bin | Convertir decimal a número binario en cadena |
dec2hex | Convertir decimal a número hexadecimal en cadena |
hex2dec | Convierta la cadena numérica hexadecimal en un número decimal |
hex2num | Convierta una cadena numérica hexadecimal en un número de doble precisión |
num2hex | Convierta sencillos y dobles en cadenas hexadecimales IEEE |
cell2mat | Convertir matriz de celdas en matriz numérica |
cell2struct | Convertir matriz de celdas en matriz de estructura |
celltr | Crear una matriz de celdas de cadenas a partir de una matriz de caracteres |
mat2cell | Convierta una matriz en una matriz de celdas con celdas de tamaño potencialmente diferente |
num2cell | Convierta una matriz en una matriz de celdas con celdas de tamaño uniforme |
struct2cell | Convertir estructura en matriz de celdas |
Determinación de tipos de datos
MATLAB proporciona varias funciones para identificar el tipo de datos de una variable.
La siguiente tabla proporciona las funciones para determinar el tipo de datos de una variable:
Función | Propósito |
---|---|
es | Detectar estado |
es un | Determinar si la entrada es un objeto de la clase especificada |
iscell | Determinar si la entrada es una matriz de celdas |
iscellstr | Determinar si la entrada es una matriz de cadenas de celdas |
ischar | Determinar si el elemento es una matriz de caracteres |
isfield | Determinar si la entrada es un campo de matriz de estructura |
isfloat | Determinar si la entrada es una matriz de punto flotante |
ishghandle | Verdadero para los identificadores de objetos de Handle Graphics |
isinteger | Determinar si la entrada es una matriz de enteros |
isjava | Determinar si la entrada es un objeto Java |
isologico | Determinar si la entrada es una matriz lógica |
isnumérico | Determinar si la entrada es una matriz numérica |
isobjeto | Determinar si la entrada es un objeto MATLAB |
es real | Verifique si la entrada es una matriz real |
isscalar | Determinar si la entrada es escalar |
isstr | Determinar si la entrada es una matriz de caracteres |
isstruct | Determinar si la entrada es una matriz de estructura |
isvector | Determine si la entrada es vectorial |
clase | Determinar la clase de objeto |
validar atributos | Verificar la validez de la matriz |
quien | Lista de variables en el espacio de trabajo, con tamaños y tipos |
Ejemplo
Cree un archivo de script con el siguiente código:
x = 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 = 'Hello'
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
isnumeric(x)
Cuando ejecuta el archivo, produce el siguiente resultado:
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 = Hello
ans = 0
ans = 0
ans = 1
ans = 0
ans = 0