Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> MATLAB

MATLAB – Números: Tipos, Armazenamento e Conversão

O MATLAB suporta várias classes numéricas: inteiros com e sem sinal, e números de ponto flutuante de precisão simples e dupla. Por padrão, armazena todos os valores numéricos como double (precisão dupla).

Você pode optar por armazenar números como inteiros ou single (precisão simples). Todos os tipos numéricos suportam operações básicas de array e matemáticas.

Conversão para Tipos Numéricos

Funções para converter entre tipos:

FunçãoFinalidade
doubleConverte para double precision
singleConverte para single precision
int8Converte para inteiro de 8 bits com sinal
int16Converte para inteiro de 16 bits com sinal
int32Converte para inteiro de 32 bits com sinal
int64Converte para inteiro de 64 bits com sinal
uint8Converte para inteiro de 8 bits sem sinal
uint16Converte para inteiro de 16 bits sem sinal
uint32Converte para inteiro de 32 bits sem sinal
uint64Converte para inteiro de 64 bits sem sinal

Exemplo de Conversão

x = single([5.32 3.47 6.28]) .* 7.5
x = double([5.32 3.47 6.28]) .* 7.5
x = int8([5.32 3.47 6.28]) .* 7.5
x = int16([5.32 3.47 6.28]) .* 7.5
x = int32([5.32 3.47 6.28]) .* 7.5
x = int64([5.32 3.47 6.28]) .* 7.5

Resultado (valores arredondados para inteiros nos tipos inteiros):

x = 39.900 26.025 47.100   (single)
x = 39.900 26.025 47.100   (double)
x = 38 23 45               (int8, int16, int32, int64)

Exemplo Adicional: Conversão para Cell Array

x = int32([5.32 3.47 6.28]) .* 7.5;
x = int64([5.32 3.47 6.28]) .* 7.5;
x = num2cell(x)

Resultado:

x = { [1,1] = 38; [1,2] = 23; [1,3] = 45 }

Menores e Maiores Inteiros

As funções intmax() e intmin() retornam os valores máximos e mínimos representáveis para cada tipo inteiro.

Exemplo: intmax('int8') retorna 127; intmin('int64') retorna -9.22e18.

Exemplo Completo

str = 'The range for int8 is:\n\t%d to %d ';
sprintf(str, intmin('int8'), intmax('int8'))
% ... repetir para int16, int32, int64, uint8, uint16, uint32, uint64

Resultado típico:

int8:   -128 to 127
int16:  -32768 to 32767
int32:  -2147483648 to 2147483647
int64:  -9223372036854775808 to 9223372036854775807
uint8:  0 to 255
uint16: 0 to 65535
uint32: 0 to 4294967295
uint64: 0 to 18446744073709551615

Menores e Maiores Números de Ponto Flutuante

As funções realmax() e realmin() retornam os limites para single e double.

Exemplo

str = 'The range for single is:\n\t%g to %g and\n\t %g to %g';
sprintf(str, -realmax('single'), -realmin('single'), realmin('single'), realmax('single'))
str = 'The range for double is:\n\t%g to %g and\n\t %g to %g';
sprintf(str, -realmax('double'), -realmin('double'), realmin('double'), realmax('double'))

Resultado:

single: -3.40282e+38 to -1.17549e-38 and 1.17549e-38 to 3.40282e+38
double: -1.79769e+308 to -2.22507e-308 and 2.22507e-308 to 1.79769e+308

MATLAB

  1. Números vs. Numeração: Entendendo a Distinção e Seu Impacto Prático
  2. MATLAB: Visão Geral Abrangente do Ambiente Líder em Computação Numérica
  3. Entendendo Variáveis no MATLAB: Fundamentos e Exemplos
  4. Comandos Essenciais do MATLAB para Computação Eficiente
  5. Entendendo Tipos de Dados no MATLAB: Guia Completo
  6. Dominando Operadores MATLAB: Guia Completo de Operações Aritméticas, Lógicas e Bitwise
  7. Domine Matrizes no MATLAB: Criação, Referência e Manipulação de Dados
  8. MATLAB: Dominando Arrays Multidimensionais e Especiais
  9. Dominando a Notação Dois-Pontos no MATLAB: Crie Vetores e Itere com Eficiência
  10. Dominando Strings no MATLAB: Criação e Uso Prático