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
leu.
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