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