La clase numérica en MATLAB incluye enteros con y sin signo, números de punto flotante de precisión simple y números de punto flotante de precisión doble. Generalmente, MATLAB almacena todos los valores numéricos como punto flotante de precisión doble. Pero podemos optar por almacenar cualquier número, o una array de números, como números enteros o, como precisión simple, para una mejor utilización de la memoria. Todos los tipos numéricos permiten operaciones básicas de array, como indexación, etc.
Crear variables numéricas:
Tipo de datos | Descripción | Tamaño | Rango típico |
---|---|---|---|
doble |
Precisión doble (valores de punto flotante) |
8 bytes | +/- 1.7e +/- 308 (~15 dígitos) |
único |
Precisión simple (valores de punto flotante) |
4 bytes | +/- 3.4e +/- 38 (~7 dígitos) |
int8 | entero con signo de 8 bits | 1 byte | -128 a 127 |
int16 | entero con signo de 16 bits | 2 bytes | -32768 a 32767 |
int32 | entero con signo de 32 bits | 4 bytes | -2147483648 al 2147483647 |
int64 | entero con signo | 8 bytes | -(2 63 ) a (2 63 )-1 |
uint16 | Entero sin signo | 2 bytes | 0 a 65535 |
uint32 | Entero sin signo | 4 bytes | 0 al 4294967295 |
uint64 | Entero sin signo | 8 bytes | 0 a 18.446.744.073.709.551.615 |
Ejemplo 1 :
Matlab
% MATLAB code for Numeric Variables gfg = single([4.4 3.9 6.9]) .* 8.4 gfg = double([4.4 3.9 6.9]) .* 8.4 gfg = int8([4.4 3.9 6.9]) .* 8.4 gfg = int16([4.4 3.9 6.9]) .* 8.4 gfg = int32([4.4 3.9 6.9]) .* 8.4 gfg = int64([4.4 3.9 6.9]) .* 8.4
Producción:
gfg = 36.960 32.760 57.960 gfg = 36.960 32.760 57.960 gfg = 34 34 59 gfg = 34 34 59 gfg = 34 34 59 gfg = 34 34 59
Conversión de tipos numéricos:
MATLAB proporciona las siguientes funciones para convertir a varios tipos de datos numéricos:
Tipo de datos | Descripción | Sintaxis |
---|---|---|
emitir | Convertir el tipo de datos de una variable a otra |
|
encasillar | Convierta el tipo de datos sin cambiar los datos subyacentes |
|
Ejemplo 2:
Matlab
% MATLAB code for conversion of Numeric Types gfg = int8([-5 5]); b= cast(gfg, "uint8")
Producción:
Ans: b = 0 5
Ejemplo 3:
Matlab
% MATLAB code for conversion of Numeric Types gfg = int16(-1) X = typecast(gfg , 'uint16')
Producción:
gfg = -1 X = 65535
Tipo de consulta y valor:
MATLAB proporciona el siguiente tipo de datos para verificar varios valores numéricos:
Tipo de datos | Descripción | Sintaxis |
---|---|---|
es entero | Determinar si la entrada es una array de enteros | TF = es un número entero (A) |
es flotar | Determinar si la entrada es una array de punto flotante | TF = es flotador (A) |
isnumeric | Determinar si la entrada es una array numérica | TF = isnumérico(A) |
es real | Determinar si la array utiliza almacenamiento complejo | TF = esreal(A) |
esfinito | Determinar qué elementos de la array son finitos | TF = isfinito(A) |
isinf | Determinar qué elementos de la array son infinitos | TF = isinf(A) |
isnan | Determine qué elementos de la array son NaN (no es un número) | TF = isnan(A) |
Ejemplo 4:
Matlab
% MATLAB code for Query Type and Value gfg = isinteger(4) g = isfloat(pi) fg = isreal(2 + 7i) x = isfinite(1 ./0) y = isinf(1./0) z = isnan(0./0)
Producción:
gfg = 0 g = 1 fg = 0 x = 0 y = 1 z = 1
Límites de valores numéricos:
MATLAB proporciona los siguientes tipos para verificar los límites del valor numérico:
Escribe | Descripción | Sintaxis |
---|---|---|
eps | Precisión relativa de coma flotante |
|
flintmax |
Entero consecutivo más grande en formato de coma flotante |
|
información | Crear array de todos los valores de Inf |
|
intmax | Valor más grande de tipo entero específico |
|
intmin | Valor más pequeño del tipo entero especificado |
|
Yaya | Crear una array de todos los valores No es un número |
|
realmax | Número de punto flotante positivo más grande |
|
realmin | Número de punto flotante normalizado más pequeño |
|
Ejemplo 5:
Matlab
% MATLAB code for Numeric Value Limits gfg = flintmax gfg = intmax gfg = Inf gfg = intmin gfg =NaN gfg = realmax
Producción:
gfg = 9.0072e+15 gfg = 2147483647 gfg = Inf gfg = -2147483648 gfg = NaN gfg = 1.7977e+308