Here you can find the source of avgArray(double[] values, int maxLength)
public static double[] avgArray(double[] values, int maxLength)
//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; } }