Java stddev stdDev(Collection coll)

Here you can find the source of stdDev(Collection coll)

Description

std Dev

License

Open Source License

Declaration

public static double stdDev(Collection<? extends Number> coll) 

Method Source Code

//package com.java2s;
/*******************************************************************************
 * This file is part of jasima, v1.3, the Java simulator for manufacturing and 
 * logistics./* w  w  w.  j ava 2  s  .c  o m*/
 *  
 * Copyright (c) 2015       jasima solutions UG
 * Copyright (c) 2010-2015 Torsten Hildebrandt and jasima contributors
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *******************************************************************************/

import java.util.Collection;

public class Main {
    public static double stdDev(Collection<? extends Number> coll) {
        if (coll == null || coll.size() < 2)
            throw new IllegalArgumentException();
        double mean = mean(coll);
        double res = 0;
        for (Number n : coll) {
            double d = n.doubleValue() - mean;
            res += d * d;
        }
        return res / (coll.size() - 1);
    }

    public static double mean(Collection<? extends Number> coll) {
        if (coll == null || coll.size() < 1)
            throw new IllegalArgumentException();
        double res = 0;
        for (Number n : coll) {
            res += n.doubleValue();
        }
        return res / coll.size();
    }
}

Related

  1. std(final double[] x, final int begin, final int end)
  2. std(float[][] arr)
  3. std(long[] array)
  4. stdarr(int[] a, double avg)
  5. stddev(Collection a)
  6. stddev(double sum, double sqSum, int numberValues)
  7. stddev(double[] a)
  8. stddev(double[] arr)
  9. stdDev(double[] array)