Class TruncatedNormalDistribution

java.lang.Object
org.apache.commons.math3.distribution.AbstractRealDistribution
org.apache.commons.math3.distribution.NormalDistribution
com.amalgamasimulation.utils.random.TruncatedNormalDistribution
All Implemented Interfaces:
Serializable, org.apache.commons.math3.distribution.RealDistribution

public class TruncatedNormalDistribution extends org.apache.commons.math3.distribution.NormalDistribution
A NormalDistribution limited by the specified boundaries.
Author:
Alexander Morozov
See Also:
  • Field Summary

    Fields inherited from class org.apache.commons.math3.distribution.NormalDistribution

    DEFAULT_INVERSE_ABSOLUTE_ACCURACY

    Fields inherited from class org.apache.commons.math3.distribution.AbstractRealDistribution

    random, randomData, SOLVER_DEFAULT_ABSOLUTE_ACCURACY
  • Constructor Summary

    Constructors
    Constructor
    Description
    TruncatedNormalDistribution(double mean, double sigma, double min, double max)
     
    TruncatedNormalDistribution(double mean, double sigma, double min, double max, org.apache.commons.math3.random.RandomGenerator randomGenerator)
    Creates a truncated normal distribution, i.e.
  • Method Summary

    Modifier and Type
    Method
    Description
    double
     
    double
    density(double x)
     
    double
    Returns the maximum boundary of this distribution.
    double
    Returns the minimum boundary of this distribution.
    double
     
    double
     
    boolean
     
    boolean
     
    double
     
     

    Methods inherited from class org.apache.commons.math3.distribution.NormalDistribution

    cumulativeProbability, getMean, getNumericalMean, getNumericalVariance, getSolverAbsoluteAccuracy, getStandardDeviation, inverseCumulativeProbability, isSupportConnected, logDensity, probability

    Methods inherited from class org.apache.commons.math3.distribution.AbstractRealDistribution

    probability, reseedRandomGenerator, sample

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • TruncatedNormalDistribution

      public TruncatedNormalDistribution(double mean, double sigma, double min, double max, org.apache.commons.math3.random.RandomGenerator randomGenerator)
      Creates a truncated normal distribution, i.e. a NormalDistribution limited by the specified min and max values.
      Parameters:
      mean - mean of this distribution
      sigma - standard deviation of this distribution
      min - minimum boundary of this distribution, all returned values will be greater than or equal to this value
      max - maximum boundary of this distribution, all returned values will be less than or equal to this value
      randomGenerator - random number generator
    • TruncatedNormalDistribution

      public TruncatedNormalDistribution(double mean, double sigma, double min, double max)
  • Method Details

    • getMin

      public double getMin()
      Returns the minimum boundary of this distribution.
      Returns:
      minimum boundary of this distribution
    • getMax

      public double getMax()
      Returns the maximum boundary of this distribution.
      Returns:
      maximum boundary of this distribution
    • sample

      public double sample()
      Specified by:
      sample in interface org.apache.commons.math3.distribution.RealDistribution
      Overrides:
      sample in class org.apache.commons.math3.distribution.NormalDistribution
    • density

      public double density(double x)
      Specified by:
      density in interface org.apache.commons.math3.distribution.RealDistribution
      Overrides:
      density in class org.apache.commons.math3.distribution.NormalDistribution
    • cumulativeProbability

      public double cumulativeProbability(double x)
      Specified by:
      cumulativeProbability in interface org.apache.commons.math3.distribution.RealDistribution
      Overrides:
      cumulativeProbability in class org.apache.commons.math3.distribution.NormalDistribution
    • getSupportLowerBound

      public double getSupportLowerBound()
      Specified by:
      getSupportLowerBound in interface org.apache.commons.math3.distribution.RealDistribution
      Overrides:
      getSupportLowerBound in class org.apache.commons.math3.distribution.NormalDistribution
    • getSupportUpperBound

      public double getSupportUpperBound()
      Specified by:
      getSupportUpperBound in interface org.apache.commons.math3.distribution.RealDistribution
      Overrides:
      getSupportUpperBound in class org.apache.commons.math3.distribution.NormalDistribution
    • isSupportLowerBoundInclusive

      public boolean isSupportLowerBoundInclusive()
      Specified by:
      isSupportLowerBoundInclusive in interface org.apache.commons.math3.distribution.RealDistribution
      Overrides:
      isSupportLowerBoundInclusive in class org.apache.commons.math3.distribution.NormalDistribution
    • isSupportUpperBoundInclusive

      public boolean isSupportUpperBoundInclusive()
      Specified by:
      isSupportUpperBoundInclusive in interface org.apache.commons.math3.distribution.RealDistribution
      Overrides:
      isSupportUpperBoundInclusive in class org.apache.commons.math3.distribution.NormalDistribution
    • toString

      public String toString()
      Overrides:
      toString in class Object