All Downloads are FREE. Search and download functionalities are using the official Maven repository.

JSci.maths.statistics.SampleStatistics Maven / Gradle / Ivy

Go to download

JSci is a set of open source Java packages. The aim is to encapsulate scientific methods/principles in the most natural way possible. As such they should greatly aid the development of scientific based software. It offers: abstract math interfaces, linear algebra (support for various matrix and vector types), statistics (including probability distributions), wavelets, newtonian mechanics, chart/graph components (AWT and Swing), MathML DOM implementation, ... Note: some packages, like javax.comm, for the astro and instruments package aren't listed as dependencies (not available).

The newest version!
package JSci.maths.statistics;

/**
* This class calculates commonly used sample statistics in an incremental fashion.
* @version 1.0
* @author Mark Hale
*/
public class SampleStatistics {
        private int n = 0;
        private double sum = 0.0;
        private double sumSqr = 0.0;
        private double min = Double.POSITIVE_INFINITY;
        private double max = Double.NEGATIVE_INFINITY;

        public SampleStatistics() {}
        public void update(double x) {
                n++;
                sum += x;
                sumSqr += x*x;
                min = Math.min(x, min);
                max = Math.max(x, max);
        }
        public int getCount() {
                return n;
        }
        public double getMean() {
                return sum/n;
        }
        public double getVariance() {
                return (sumSqr - sum*sum/n)/(n-1);
        }
        public double getMinimum() {
                return min;
        }
        public double getMaximum() {
                return max;
        }
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy