Class Weighted_MeanArrayFunction
java.lang.Object
microsim.statistics.functions.AbstractFunction
microsim.statistics.weighted.functions.AbstractWeightedArrayFunction
microsim.statistics.weighted.functions.Weighted_MeanArrayFunction
- All Implemented Interfaces:
EventListener,IDoubleSource,IUpdatableSource
public class Weighted_MeanArrayFunction
extends AbstractWeightedArrayFunction
implements IDoubleSource
This class computes the (weighted) average (mean) value of an array of values taken from a data source,
weighted by corresponding weights:
weighted mean = sum (values * weights) / sum (weights)
Note that the array of weights must have the same length as the array of values, otherwise an exception
will be thrown.
The mean function return always double values, so it implements only the
IDoubleSource interface.
Title: JAS-mine
Description: Java Agent-based Simulation library. Modelling in a Networked Environment.
Copyright (C) 2017 Michele Sonnessa and Ross Richardson
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.- Author:
- Michele Sonnessa and Ross Richardson
-
Nested Class Summary
Nested classes/interfaces inherited from interface microsim.statistics.IDoubleSource
IDoubleSource.Variables -
Field Summary
FieldsFields inherited from class microsim.statistics.weighted.functions.AbstractWeightedArrayFunction
dblSource, fltSource, intSource, lngSource, type, TYPE_DBL, TYPE_FLT, TYPE_INT, TYPE_LNGFields inherited from class microsim.statistics.functions.AbstractFunction
timeChecker -
Constructor Summary
ConstructorsConstructorDescriptionCreate a mean function on a (weighted) double array source.Create a mean function on a float array source.Create a mean function on an integer array source.Create a mean function on a long array source. -
Method Summary
Modifier and TypeMethodDescriptionvoidapply(double[] data, double[] weights) Apply the function on a the given array of double values.voidapply(float[] data, double[] weights) Apply the function on a the given array of float values.voidapply(int[] data, double[] weights) Apply the function on a the given array of integer values.voidapply(long[] data, double[] weights) Apply the function on a the given array of long values.doublegetDoubleValue(Enum<?> variableID) Return the double value corresponding to the given variableIDMethods inherited from class microsim.statistics.weighted.functions.AbstractWeightedArrayFunction
applyFunctionMethods inherited from class microsim.statistics.functions.AbstractFunction
isCheckingTime, onEvent, setCheckingTime, updateSource
-
Field Details
-
weightedMean
protected double weightedMean
-
-
Constructor Details
-
Weighted_MeanArrayFunction
Create a mean function on a float array source.- Parameters:
source- The data source.
-
Weighted_MeanArrayFunction
Create a mean function on an integer array source.- Parameters:
source- The data source.
-
Weighted_MeanArrayFunction
Create a mean function on a long array source.- Parameters:
source- The data source.
-
Weighted_MeanArrayFunction
Create a mean function on a (weighted) double array source.- Parameters:
source- The weighted data source.
-
-
Method Details
-
apply
public void apply(double[] data, double[] weights) Description copied from class:AbstractWeightedArrayFunctionApply the function on a the given array of double values.- Overrides:
applyin classAbstractWeightedArrayFunction- Parameters:
data- A source array of values.weights- An array of weights.
-
apply
public void apply(float[] data, double[] weights) Description copied from class:AbstractWeightedArrayFunctionApply the function on a the given array of float values.- Overrides:
applyin classAbstractWeightedArrayFunction- Parameters:
data- A source array of values.weights- An array of weights.
-
apply
public void apply(int[] data, double[] weights) Description copied from class:AbstractWeightedArrayFunctionApply the function on a the given array of integer values.- Overrides:
applyin classAbstractWeightedArrayFunction- Parameters:
data- A source array of values.weights- An array of weights.
-
apply
public void apply(long[] data, double[] weights) Description copied from class:AbstractWeightedArrayFunctionApply the function on a the given array of long values.- Overrides:
applyin classAbstractWeightedArrayFunction- Parameters:
data- A source array of values.weights- An array of weights.
-
getDoubleValue
Description copied from interface:IDoubleSourceReturn the double value corresponding to the given variableID- Specified by:
getDoubleValuein interfaceIDoubleSource- Parameters:
variableID- A unique identifier for a variable.- Returns:
- The current double value of the required variable.
-