Java tutorial
import java.util.Arrays; /** * <p>Static methods for doing useful math</p><hr> * * @author : $Author: brian $ * @version : $Revision: 1.1 $ * * <hr><p><font size="-1" color="#336699"><a href="http://www.mbari.org"> * The Monterey Bay Aquarium Research Institute (MBARI)</a> provides this * documentation and code "as is", with no warranty, express or * implied, of its quality or consistency. It is provided without support and * without obligation on the part of MBARI to assist in its use, correction, * modification, or enhancement. This information should not be published or * distributed to third parties without specific written permission from * MBARI.</font></p><br> * * <font size="-1" color="#336699">Copyright 2002 MBARI.<br> * MBARI Proprietary Information. All rights reserved.</font><br><hr><br> * */ public class Util { /** * Standard deviation is a statistical measure of spread or variability.The * standard deviation is the root mean square (RMS) deviation of the values * from their arithmetic mean. * * <b>standardDeviation</b> normalizes values by (N-1), where N is the sample size. This is the * sqrt of an unbiased estimator of the variance of the population from * which X is drawn, as long as X consists of independent, identically * distributed samples. * * @param values * @return */ public static strictfp double standardDeviation(double[] values) { double mean = mean(values); double dv = 0D; for (double d : values) { double dm = d - mean; dv += dm * dm; } return Math.sqrt(dv / (values.length - 1)); // double[] deviation = deviationFromMean(values); // double s = 0D; // for (double d : deviation) { // s += (d * d); // } // return Math.sqrt(s / values.length - 1); } /** * Calculate the mean of an array of values * * @param values The values to calculate * @return The mean of the values */ public static strictfp double mean(double[] values) { return sum(values) / values.length; } /** * Sum up all the values in an array * * @param values an array of values * @return The sum of all values in the Array */ public static strictfp double sum(double[] values) { if (values == null || values.length == 0) { throw new IllegalArgumentException("The data array either is null or does not contain any data."); } else { double sum = 0; for (int i = 0; i < values.length; i++) { sum += values[i]; } return sum; } } }