rescale

Reescala dados linearmente para um intervalo dado.

Categoria: Data Import and Analysis > Preprocessing Data

Sintaxe

B = rescale(A)

Mapeia os dados para o intervalo de 0 a 1.

B = rescale(A, l, u)

Mapeia os dados para o intervalo de l a u.

B = rescale(___, 'InputMin', a, 'InputMax', b)

Trata a e b como os limites de entrada em vez dos extremos dos dados.

Descrição

O mapeamento é linear: l + (A - min) .* (u - l) ./ (max - min), em que min e max são os extremos do array inteiro, a menos que InputMin e InputMax sejam fornecidos. Ao contrário de normalize, os extremos são tomados sobre todos os elementos, não coluna a coluna.

Definir os limites de entrada serve para escalar dados novos com os limites de um conjunto de referência, por exemplo transformar a faixa de um sensor em porcentagens.

Argumentos de entrada

A
Array numérico.
l, u
Limites inferior e superior da saída.
'InputMin', 'InputMax'
Valores de entrada que correspondem a l e u.

Argumentos de saída

B
Array do mesmo tamanho de A.

Exemplo

Para 0 a 1, e com limites de entrada fixos

x = [1 2 3 4];
rescale(x)
rescale(x, -1, 1)
rescale(x, 0, 10, 'InputMin', 0, 'InputMax', 8)
Saída
ans = 1×4

         0    0.3333    0.6667    1.0000
ans = 1×4

   -1.0000   -0.3333    0.3333    1.0000
ans = 1×4

    1.2500    2.5000    3.7500    5.0000

Veja também

normalize bounds