Min-Max normalization for uniform vectors
41 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi,
Can anyone have any point on how to normalize a single number, say 1000, into a range of [-1,1]? Or even a uniform vector of say [1000 1000 1000 1000] into the same range as suggested above?
Normalizing a non-uniform data is trivial. Say the data is v=[1 3 5 7] and we normalize input 5, then
(v(3)-(min(v)))*(1-(-1))/(max(v)-min(v))+(-1)
is the formula I should follow. How about, v is uniform, thus generates a zero denominator in the formula?
JD
2 Kommentare
Image Analyst
am 9 Okt. 2016
If it's uniform (all the same value), do you want the output value to be -1, 0, 1, or something else? It can be only one number, unless of course you just want to ignore it and replace the whole thing by random numbers or some other scheme.
Antworten (2)
Jan
am 9 Okt. 2016
A normalization requires a range of data. Either this range is predefined or it is determined by the values. A single number or a vector of equal numbers does not have a range. Therefore a normalization requires a predefined knowledge of the possible range of values. Without knowing "min(v)" and "max(v)", a normalization is not possible.
KSSV
am 9 Okt. 2016
Other ways of normalizing are:
Divide each element by the norm of the array. doc norm for this.
Divide each element by maximum of the array.
1 Kommentar
Siehe auch
Kategorien
Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!