Entendendo Tipos de Dados no MATLAB: Guia Completo
O MATLAB não exige declaração de tipo ou dimensão. Ao encontrar novo nome de variável, cria-a e aloca memória apropriada.
Se a variável já existe, substitui conteúdo original e aloca novo espaço se necessário.
Exemplo:
Total = 42
Cria matriz 1x1 chamada 'Total' com valor 42.
Tipos de Dados Disponíveis no MATLAB
O MATLAB fornece 15 tipos fundamentais (na tabela aparecem 17). Todo tipo armazena dados como matriz/array, tamanho mínimo 0x0, podendo crescer arbitrariamente.
| Nº | Tipo de Dado 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 sem sinal 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 sem sinal de 64 bits |
| 9 | single Dados numéricos de precisão simples |
| 10 | double Dados numéricos de precisão dupla |
| 11 | logical Valores lógicos 1 ou 0 (true/false) |
| 12 | char Dados de caractere (strings como vetor de caracteres) |
| 13 | cell array Array de células indexadas, cada uma capaz de armazenar array de dimensão e tipo diferentes |
| 14 | structure Estruturas estilo C, cada uma com campos nomeados capazes de armazenar arrays de dimensão/tipo diferentes |
| 15 | function handle Ponteiro para função |
| 16 | user classes Objetos de classe definida pelo usuário |
| 17 | java classes Objetos de classe Java |
Exemplo
str = 'Hello World!' n = 2345 d = double(n) un = uint32(789.50) rn = 5678.92347 c = int32(rn)
Resultado:
str = Hello World! n = 2345 d = 2345 un = 790 rn = 5678.9 c = 5679
Conversão de Tipos de Dados
Funções para converter valores entre tipos:
| Função | Finalidade |
|---|---|
| char | Converter para array de caracteres (string) |
| int2str | Converter inteiro para string |
| mat2str | Converter matriz para string |
| num2str | Converter número para string |
| str2double | Converter string para double |
| str2num | Converter string para número |
| native2unicode | Converter bytes numéricos para Unicode |
| unicode2native | Converter Unicode para bytes numéricos |
| base2dec | Converter string base N para decimal |
| bin2dec | Converter string binária para decimal |
| dec2base | Converter decimal para base N em string |
| dec2bin | Converter decimal para binário em string |
| dec2hex | Converter decimal para hexadecimal em string |
| hex2dec | Converter string hexadecimal para decimal |
| hex2num | Converter string hexadecimal para double |
| num2hex | Converter singles/doubles para strings hex IEEE |
| cell2mat | Converter cell array para array numérico |
| cell2struct | Converter cell array para struct array |
| cellstr | Criar cell array de strings a partir de array de caracteres |
| mat2cell | Converter array para cell array com células de tamanhos potencialmente diferentes |
| num2cell | Converter array para cell array com células de tamanho consistente |
| struct2cell | Converter struct para cell array |
Determinação de Tipos de Dados
Funções para identificar tipo de variável:
| Função | Finalidade |
|---|---|
| is | Detecta estado |
| isa | Determina se entrada é objeto de classe especificada |
| iscell | Determina se entrada é cell array |
| iscellstr | Determina se entrada é cell array de strings |
| ischar | Determina se item é array de caracteres |
| isfield | Determina se entrada é campo de struct array |
| isfloat | Determina se entrada é array de ponto flutuante |
| ishghandle | True para handles de objetos Handle Graphics |
| isinteger | Determina se entrada é array inteiro |
| isjava | Determina se entrada é objeto Java |
| islogical | Determina se entrada é array lógico |
| isnumeric | Determina se entrada é array numérico |
| isobject | Determina se entrada é objeto MATLAB |
| isreal | Verifica se entrada é array real |
| isscalar | Determina se entrada é escalar |
| isstr | Determina se entrada é array de caracteres |
| isstruct | Determina se entrada é struct array |
| isvector | Determina se entrada é vetor |
| class | Determina classe do objeto |
| validateattributes | Verifica validade de array |
| whos | Lista variáveis no workspace com tamanhos e tipos |
Exemplo
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)
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
MATLAB
- Domine Variáveis e Tipos de Dados Primitivos em C#: Guia Completo
- Entendendo Tipos de Dados em C++: Fundamentos, Modificadores e Boas Práticas
- Tipos de Dados em C Explicados: int, float, char e Mais – Guia Completo
- Dominando Tipos de Dados em Python: Guia Prático
- Tipos de Dados Primitivos do Java: Guia Completo com Exemplos
- 5 Modelos de Data Center Explicados: Design, Casos de Uso e Exemplos
- Oito Modelos Principais de Computação em Nuvem de 2021
- 8 Tipos Comuns de Vazamento de Dados – Exemplos Reais e Impacto
- Entendendo Tipos de Dados em C: Guia Abrangente
- MATLAB: Visão Geral Abrangente do Ambiente Líder em Computação Numérica