MATLAB - Tipos de Dados

O MATLAB não requer nenhuma declaração de tipo ou declarações de dimensão. Sempre que o MATLAB encontra um novo nome de variável, ele cria a variável e aloca o espaço de memória apropriado.

Se a variável já existe, o MATLAB substitui o conteúdo original por um novo conteúdo e aloca novo espaço de armazenamento, quando necessário.

Por exemplo,

Total = 42

A declaração acima cria uma matriz 1 por 1 chamada 'Total' e armazena o valor 42 nela.

Tipos de dados disponíveis no MATLAB

O MATLAB fornece 15 tipos de dados fundamentais. Cada tipo de dados armazena dados que estão na forma de uma matriz ou array. O tamanho desta matriz ou array é no mínimo 0 por 0 e isso pode crescer até uma matriz ou array de qualquer tamanho.

A tabela a seguir mostra os tipos de dados mais comumente usados ​​no MATLAB -

Sr. Não. Tipo de dados e descrição
1

int8

Inteiro assinado de 8 bits

2

uint8

Inteiro sem sinal de 8 bits

3

int16

Inteiro assinado de 16 bits

4

uint16

Inteiro não assinado de 16 bits

5

int32

Inteiro assinado de 32 bits

6

uint32

Inteiro sem sinal de 32 bits

7

int64

Inteiro assinado de 64 bits

8

uint64

Inteiro não assinado de 64 bits

9

single

dados numéricos de precisão única

10

double

dados numéricos de dupla precisão

11

logical

valores lógicos de 1 ou 0 representam verdadeiro e falso, respectivamente

12

char

dados de caracteres (strings são armazenadas como vetores de caracteres)

13

cell array

matriz de células indexadas, cada uma capaz de armazenar uma matriz de dimensão e tipo de dados diferentes

14

structure

Estruturas semelhantes a C, cada estrutura tendo campos nomeados capazes de armazenar uma matriz de uma dimensão e tipo de dados diferente

15

function handle

ponteiro para uma função

16

user classes

objetos construídos a partir de uma classe definida pelo usuário

17

java classes

objetos construídos a partir de uma classe Java

Exemplo

Crie um arquivo de script com o seguinte código -

str = 'Hello World!'
n = 2345
d = double(n)
un = uint32(789.50)
rn = 5678.92347
c = int32(rn)

Quando o código acima é compilado e executado, ele produz o seguinte resultado -

str = Hello World!
n =  2345
d =  2345
un = 790
rn = 5678.9
c =  5679

Conversão de Tipo de Dados

O MATLAB fornece várias funções para conversão de um valor de um tipo de dados para outro. A tabela a seguir mostra as funções de conversão de tipo de dados -

Função Objetivo
Caracteres Converter para matriz de caracteres (string)
int2str Converter dados inteiros em string
mat2str Converter matriz em string
num2str Converter número em string
str2double Converter string em valor de precisão dupla
str2num Converter string em número
native2unicode Converta bytes numéricos em caracteres Unicode
unicode2native Converter caracteres Unicode em bytes numéricos
base2dec Converta a sequência de números de base N em número decimal
bin2dec Converter string de número binário em número decimal
dec2base Converter decimal em número de base N na string
dec2bin Converter decimal em número binário na string
dec2hex Converter decimal em número hexadecimal na string
hex2dec Converter string de número hexadecimal em número decimal
hex2num Converter string de número hexadecimal em número de precisão dupla
num2hex Converta singles e duplos em strings hexadecimais IEEE
cell2mat Converter matriz de células em matriz numérica
cell2struct Converter matriz de células em matriz de estrutura
cellstr Crie uma matriz de células de strings a partir de uma matriz de caracteres
mat2cell Converter array em array de células com células de tamanhos potencialmente diferentes
num2cell Converta matriz em matriz de células com células de tamanho consistente
struct2cell Converter estrutura em matriz de células

Determinação de tipos de dados

O MATLAB fornece várias funções para identificar o tipo de dados de uma variável.

A tabela a seguir fornece as funções para determinar o tipo de dados de uma variável -

Função Objetivo
é Detectar estado
é um Determine se a entrada é um objeto da classe especificada
iscell Determine se a entrada é uma matriz de células
iscellstr Determine se a entrada é uma matriz de células de strings
ischar Determine se o item é uma matriz de caracteres
Isfield Determine se a entrada é um campo de matriz de estrutura
flutuar Determine se a entrada é uma matriz de ponto flutuante
ishghandle True para manipuladores de objeto de Handle Graphics
isinteger Determine se a entrada é uma matriz de inteiros
isjava Determine se a entrada é um objeto Java
islógico Determine se a entrada é uma matriz lógica
isnumeric Determine se a entrada é uma matriz numérica
isobjeto Determine se a entrada é um objeto MATLAB
é real Verifique se a entrada é uma matriz real
isscalar Determine se a entrada é escalar
isstr Determine se a entrada é uma matriz de caracteres
isstruct Determine se a entrada é um array de estrutura
isvetor Determine se a entrada é um vetor
classe Determine a classe do objeto
atributos válidos Verifique a validade da matriz
quem é Listar variáveis ​​no espaço de trabalho, com tamanhos e tipos

Exemplo

Crie um arquivo de script com o seguinte 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)

Quando você executa o arquivo, ele produz o seguinte 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