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