Class UniformStochasticLaw

  • All Implemented Interfaces:
    MathFunction, MathInversableFunction, JsonableObject

    public class UniformStochasticLaw
    extends StochasticLaw
    Law that representes an uniform density.

    The uniform law is described by:
    U(minX, maxX) = 1/abs(maxX-minY) iff maxY<>minY
    U(minX, maxX) = 1 iff maxY=minY

    Reference: Uniform Distribution.

    This class uses the uniform random number distribution provided by Random. This class replies a random number equivalent to the value replied by (maxX-minX)*Math.random()+minX.

    Since:
    13.0
    Version:
    17.0 2020-01-04 14:41:41
    Author:
    Christophe BOHRHAUER
    Maven Group Id:
    org.arakhne.afc.core
    Maven Artifact Id:
    mathstochastic
    • Constructor Detail

      • UniformStochasticLaw

        public UniformStochasticLaw​(double minX1,
                                    double maxX1)
        Create a uniform stochastic law.
        Parameters:
        minX1 - is the lower bound
        maxX1 - is the upper bound
    • Method Detail

      • random

        @Pure
        public static double random​(double minX,
                                    double maxX)
                             throws MathException
        Replies a random value that respect the current stochastic law.
        Parameters:
        minX - is the lower bound
        maxX - is the upper bound
        Returns:
        a value depending of the stochastic law parameters
        Throws:
        MathException - when math definition error.
      • f

        @Pure
        public double f​(double x)
                 throws MathException
        Description copied from interface: MathFunction
        Replies the value of the function.
        Parameters:
        x - the x.
        Returns:
        the value of f(x).
        Throws:
        MathException - in case f(x) could not be computed
      • getRange

        @Pure
        public MathFunctionRange[] getRange()
        Description copied from interface: MathFunction
        Replies the range of the function.
        Returns:
        a array of ranges. It corresponds to a list of couples that defined the set of valid values.
      • inverseF

        @Pure
        public double inverseF​(double u)
                        throws MathException
        Replies the x according to the value of the distribution function.
        Specified by:
        inverseF in interface MathInversableFunction
        Specified by:
        inverseF in class StochasticLaw
        Parameters:
        u - is a value given by the uniform random variable generator U(0, 1).
        Returns:
        F<sup>-1</sup>(u)
        Throws:
        MathException - in case F<sup>-1</sup>(u) could not be computed
      • toJson

        @Pure
        public void toJson​(JsonBuffer buffer)
        Description copied from interface: JsonableObject
        Replies the Json representation of this node.
        Parameters:
        buffer - the Json buffer.