Revision: 58945
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at August 10, 2012 11:35 by rtperson
Initial Code
public double[] scaleValues(double[] vals) { double[] result = new double[vals.length]; double min = minArray(vals); double max = maxArray(vals); double scaleFactor = max - min; // scaling between [0..1] for starters. Will generalize later. for (int x = 0; x < vals.length; x++) { result[x] = ((vals[x] - min) / scaleFactor); } return result; } // The standard collection classes don't have array min and max. public double minArray(double[] vals) { double min = vals[0]; for (int x = 1; x < vals.length; x++) { if (vals[x] < min) { min = vals[x]; } } return min; } public double maxArray(double[] vals) { double max = vals[0]; for (int x = 1; x < vals.length; x++) { if (vals[x] > max) { max = vals[x]; } } return max; }
Initial URL
Initial Description
You have to use float or double for the returned value, since the scale occurs in a continuous function.
Initial Title
Scaling Values into a range between 0 and 1
Initial Tags
math
Initial Language
Java