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


O MATLAB suporta várias classes numéricas que incluem inteiros assinados e não assinados e números de ponto flutuante de precisão simples e dupla. Por padrão, o MATLAB armazena todos os valores numéricos como números de ponto flutuante de precisão dupla.

Você pode optar por armazenar qualquer número ou matriz de números como números inteiros ou como números de precisão simples.

Todos os tipos numéricos suportam operações básicas de array e operações matemáticas.

Conversão para vários tipos de dados numéricos


O MATLAB fornece as seguintes funções para converter em vários tipos de dados numéricos -
Função Propósito
duplo Converte em número de precisão dupla
único Converte em número de precisão simples
int8 Converte em inteiro com sinal de 8 bits
int16 Converte em inteiro com sinal de 16 bits
int32 Converte em inteiro com sinal de 32 bits
int64 Converte em inteiro com sinal de 64 bits
uint8 Converte em inteiro sem sinal de 8 bits
uint16 Converte em inteiro sem sinal de 16 bits
uint32 Converte em inteiro sem sinal de 32 bits
uint64 Converte em inteiro sem sinal de 64 bits

Exemplo


Crie um arquivo de script e digite o seguinte código -
Demonstração ao vivo
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

Quando você executa o arquivo, ele mostra o seguinte resultado -
x =

   39.900   26.025   47.100

x =

   39.900   26.025   47.100

x =

   38  23  45

x =

   38  23  45

x =

   38  23  45

x =

   38  23  45

Exemplo


Vamos estender um pouco mais o exemplo anterior. Crie um arquivo de script e digite o seguinte código -
Demonstração ao vivo
x = int32([5.32 3.47 6.28]) .* 7.5
x = int64([5.32 3.47 6.28]) .* 7.5
x = num2cell(x)

Quando você executa o arquivo, ele mostra o seguinte resultado -
x =

   38  23  45

x =

   38  23  45

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

Os menores e os maiores inteiros


As funções intmax() e intmin() retornam os valores máximo e mínimo que podem ser representados com todos os tipos de números inteiros.

Ambas as funções usam o tipo de dados inteiro como argumento, por exemplo, intmax(int8) ou intmin(int64) e retornam os valores máximo e mínimo que você pode representar com o tipo de dados inteiro.

Exemplo


O exemplo a seguir ilustra como obter os valores menores e maiores de inteiros. Crie um arquivo de script e escreva o seguinte código nele -
Demonstração ao vivo
% displaying the smallest and largest signed integer data
str = 'The range for int8 is:\n\t%d to %d ';
sprintf(str, intmin('int8'), intmax('int8'))

str = 'The range for int16 is:\n\t%d to %d ';
sprintf(str, intmin('int16'), intmax('int16'))

str = 'The range for int32 is:\n\t%d to %d ';
sprintf(str, intmin('int32'), intmax('int32'))

str = 'The range for int64 is:\n\t%d to %d ';
sprintf(str, intmin('int64'), intmax('int64'))
 
% displaying the smallest and largest unsigned integer data
str = 'The range for uint8 is:\n\t%d to %d ';
sprintf(str, intmin('uint8'), intmax('uint8'))

str = 'The range for uint16 is:\n\t%d to %d ';
sprintf(str, intmin('uint16'), intmax('uint16'))

str = 'The range for uint32 is:\n\t%d to %d ';
sprintf(str, intmin('uint32'), intmax('uint32'))

str = 'The range for uint64 is:\n\t%d to %d ';
sprintf(str, intmin('uint64'), intmax('uint64'))

Quando você executa o arquivo, ele mostra o seguinte resultado -
ans = The range for int8 is:
	-128 to 127 
ans = The range for int16 is:
	-32768 to 32767 
ans = The range for int32 is:
	-2147483648 to 2147483647 
ans = The range for int64 is:
	0 to 0 
ans = The range for uint8 is:
	0 to 255 
ans = The range for uint16 is:
	0 to 65535 
ans = The range for uint32 is:
	0 to -1 
ans = The range for uint64 is:
	0 to 18446744073709551616 

Menores e maiores números de ponto flutuante


As funções realmax() e realmin() retornam os valores máximo e mínimo que podem ser representados com números de ponto flutuante.

Ambas as funções quando chamadas com o argumento 'single', retornam os valores máximo e mínimo que você pode representar com o tipo de dados de precisão simples e quando chamadas com o argumento 'double', retornam os valores máximo e mínimo que você pode representar com o tipo de dados de precisão dupla.

Exemplo


O exemplo a seguir ilustra como obter os menores e maiores números de ponto flutuante. Crie um arquivo de script e escreva o seguinte código nele -
Demonstração ao vivo
% displaying the smallest and largest single-precision 
% floating point number
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'))

% displaying the smallest and largest double-precision 
% floating point number
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'))

Quando você executa o arquivo, ele exibe o seguinte resultado -
ans = The range for single is:                                                  
        -3.40282e+38 to -1.17549e-38 and                                        
         1.17549e-38 to  3.40282e+38                                            
ans = The range for double is:                                                  
        -1.79769e+308 to -2.22507e-308 and                                      
         2.22507e-308 to  1.79769e+308

MATLAB

  1. Números versus numeração
  2. MATLAB - Visão geral
  3. MATLAB - Variáveis
  4. MATLAB - Comandos
  5. MATLAB - Tipos de dados
  6. MATLAB - Operadores
  7. MATLAB - Matriz
  8. MATLAB - Matrizes
  9. MATLAB - Notação de dois pontos
  10. MATLAB - Cordas