Java Array Average avgArray(double[] values, int maxLength)

Here you can find the source of avgArray(double[] values, int maxLength)

Description

avg Array

License

Open Source License

Declaration

public static double[] avgArray(double[] values, int maxLength) 

Method Source Code

//package com.java2s;
/*/*  ww w  . j a  va  2  s  .  c  o  m*/
 * ===========================================================
 * GTNA : Graph-Theoretic Network Analyzer
 * ===========================================================
 * 
 * (C) Copyright 2009-2011, by Benjamin Schiller (P2P, TU Darmstadt)
 * and Contributors
 * 
 * Project Info:  http://www.p2p.tu-darmstadt.de/research/gtna/
 * 
 * GTNA is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * GTNA 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 this program. If not, see <http://www.gnu.org/licenses/>.
 * 
 * ---------------------------------------
 * Util.java
 * ---------------------------------------
 * (C) Copyright 2009-2011, by Benjamin Schiller (P2P, TU Darmstadt)
 * and Contributors 
 * 
 * Original Author: Benjamin Schiller;
 * Contributors:    -;
 * 
 * Changes since 2011-05-17
 * ---------------------------------------
 */

public class Main {
    public static double[] avgArray(double[] values, int maxLength) {
        if (maxLength >= values.length) {
            return values;
        }
        double[] array = new double[maxLength];
        int index = 0;
        int counter = 0;
        for (int i = 0; i < values.length; i++) {
            int newIndex = (int) Math.floor((double) i * (double) array.length / (double) values.length);
            if (newIndex != index) {
                array[index] /= counter;
                counter = 0;
                index = newIndex;
            }
            array[index] += values[i];
            counter++;
        }
        array[index] /= counter;
        return array;
    }
}

Related

  1. avg(int[] arr)
  2. avg(int[] values)
  3. avg(int[] xs)
  4. avg(int[][] values)
  5. avgarr(int[] a)
  6. avgArrayAndDouble(double[] array, double doublevalue)
  7. avgIgnoreNaN(double[] values)
  8. avgOfArray(double[] array)
  9. avgRng(double[] high, double[] low, int days)