Java Mean Calculation calculateMeanAndStandardDeviation(float[] data)

Here you can find the source of calculateMeanAndStandardDeviation(float[] data)

Description

calculate Mean And Standard Deviation

License

Open Source License

Declaration

public static float[] calculateMeanAndStandardDeviation(float[] data) 

Method Source Code

//package com.java2s;
/*/* w  ww. ja  v a 2  s.  co  m*/
 * Copyright (c) 2008-2013 Maksim Khadkevich and Fondazione Bruno Kessler.
 *
 * This file is part of MART.
 * MART is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2, as published
 * by the Free Software Foundation.
 *
 * MART 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 General Public License for more details.
 * You should have received a copy of the GNU General Public License
 * along with MART; if not, write to the Free Software Foundation,
 * Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

public class Main {
    public static float[] calculateMeanAndStandardDeviation(float[] data) {
        float sumMean = 0;
        float sumDev = 0;
        float mean, dev;
        int count = 0;

        for (int i = 0; i < data.length; i++) {
            sumMean += data[i];
            count++;
        }
        mean = sumMean / count;

        for (int i = 0; i < data.length; i++) {
            sumDev += (mean - data[i]) * (mean - data[i]);
        }
        dev = (float) Math.sqrt(sumDev / count);

        float[] out = new float[2];
        out[0] = mean;
        out[1] = dev;

        return out;
    }

    public static float[] calculateMeanAndStandardDeviation(float[][] data) {
        float sumMean = 0;
        float sumDev = 0;
        float mean, dev;
        int count = 0;

        for (int i = 0; i < data.length; i++) {
            for (int j = 0; j < data[i].length; j++) {
                sumMean += data[i][j];
                count++;
            }
        }
        mean = sumMean / count;

        for (int i = 0; i < data.length; i++) {
            for (int j = 0; j < data[i].length; j++) {
                sumDev += (mean - data[i][j]) * (mean - data[i][j]);
            }
        }
        dev = (float) Math.sqrt(sumDev / count);

        float[] out = new float[2];
        out[0] = mean;
        out[1] = dev;

        return out;
    }
}

Related

  1. calculateMean(double[] values)
  2. calculateMean(float[] data)
  3. calculateMeanAndStandardDeviationIgnoreNegatives( float[] data)
  4. calculateMeanAndStandardDeviationVectors( float[][] vectors)
  5. calculateMeanLevel(float[] distribution, int mid, int oldMid, float difference)
  6. calculateMeanSD(double[] d)