I wanna create basic matlab program that normalizes given array of integer in the given range.
But in everywhere, i see the normalization in the range of [0,1] or [-1,1]. Can't find variable range normalization. I will be grateful if you write the matlab code or the formula for variable range.
Thank you for ideas.
If you want to normalize to [x, y]
, first normalize to [0, 1]
via:
range = max(a) - min(a);
a = (a - min(a)) / range;
Then scale to [x,y]
via:
range2 = y - x;
a = (a * range2) + x;
Putting it all together:
function normalized = normalize_var(array, x, y)
% Normalize to [0, 1]:
m = min(array);
range = max(array) - m;
array = (array - m) / range;
% Then scale to [x,y]:
range2 = y - x;
normalized = (array*range2) + x;