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
-
-
Constructor Summary
Constructors Constructor Description Weighted_MeanArrayFunction(IWeightedDoubleArraySource source)
Create a mean function on a (weighted) double array source.Weighted_MeanArrayFunction(IWeightedFloatArraySource source)
Create a mean function on a float array source.Weighted_MeanArrayFunction(IWeightedIntArraySource source)
Create a mean function on an integer array source.Weighted_MeanArrayFunction(IWeightedLongArraySource source)
Create a mean function on a long array source.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
apply(double[] data, double[] weights)
Apply the function on a the given array of double values.void
apply(float[] data, double[] weights)
Apply the function on a the given array of float values.void
apply(int[] data, double[] weights)
Apply the function on a the given array of integer values.void
apply(long[] data, double[] weights)
Apply the function on a the given array of long values.double
getDoubleValue(java.lang.Enum<?> variableID)
Return the double value corresponding to the given variableID-
Methods inherited from class microsim.statistics.weighted.functions.AbstractWeightedArrayFunction
applyFunction
-
Methods inherited from class microsim.statistics.functions.AbstractFunction
isCheckingTime, onEvent, setCheckingTime, updateSource
-
-
-
-
Constructor Detail
-
Weighted_MeanArrayFunction
public Weighted_MeanArrayFunction(IWeightedFloatArraySource source)
Create a mean function on a float array source.- Parameters:
source
- The data source.
-
Weighted_MeanArrayFunction
public Weighted_MeanArrayFunction(IWeightedIntArraySource source)
Create a mean function on an integer array source.- Parameters:
source
- The data source.
-
Weighted_MeanArrayFunction
public Weighted_MeanArrayFunction(IWeightedLongArraySource source)
Create a mean function on a long array source.- Parameters:
source
- The data source.
-
Weighted_MeanArrayFunction
public Weighted_MeanArrayFunction(IWeightedDoubleArraySource source)
Create a mean function on a (weighted) double array source.- Parameters:
source
- The weighted data source.
-
-
Method Detail
-
apply
public void apply(double[] data, double[] weights)
Description copied from class:AbstractWeightedArrayFunction
Apply the function on a the given array of double values.- Overrides:
apply
in 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:AbstractWeightedArrayFunction
Apply the function on a the given array of float values.- Overrides:
apply
in 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:AbstractWeightedArrayFunction
Apply the function on a the given array of integer values.- Overrides:
apply
in 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:AbstractWeightedArrayFunction
Apply the function on a the given array of long values.- Overrides:
apply
in classAbstractWeightedArrayFunction
- Parameters:
data
- A source array of values.weights
- An array of weights.
-
getDoubleValue
public double getDoubleValue(java.lang.Enum<?> variableID)
Description copied from interface:IDoubleSource
Return the double value corresponding to the given variableID- Specified by:
getDoubleValue
in interfaceIDoubleSource
- Parameters:
variableID
- A unique identifier for a variable.- Returns:
- The current double value of the required variable.
-
-