Package org.arakhne.afc.math.stochastic
Class TriangularStochasticLaw
- java.lang.Object
-
- org.arakhne.afc.math.stochastic.StochasticLaw
-
- org.arakhne.afc.math.stochastic.TriangularStochasticLaw
-
- All Implemented Interfaces:
MathFunction,MathInversableFunction,JsonableObject
public class TriangularStochasticLaw extends StochasticLaw
Law that representes a triangular density.Reference: Triangular Distribution.
This class uses the uniform random number distribution provided by
Random.- 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
-
-
Field Summary
-
Fields inherited from class org.arakhne.afc.math.stochastic.StochasticLaw
NAME_NAME
-
-
Constructor Summary
Constructors Constructor Description TriangularStochasticLaw(double minX1, double mode, double maxX1)Construct the law.TriangularStochasticLaw(Map<String,String> parameters)Construct a law with the following parameters.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description doublef(double x)Replies the value of the function.MathFunctionRange[]getRange()Replies the range of the function.doubleinverseF(double u)Replies the x according to the value of the distribution function.static doublerandom(double minX, double mode, double maxX)Replies a random value that respect the current stochastic law.voidtoJson(JsonBuffer buffer)Replies the Json representation of this node.-
Methods inherited from class org.arakhne.afc.math.stochastic.StochasticLaw
generateRandomValue, getLawName, inverseF, paramBoolean, paramDouble, toString
-
-
-
-
Constructor Detail
-
TriangularStochasticLaw
public TriangularStochasticLaw(Map<String,String> parameters) throws LawParameterNotFoundException
Construct a law with the following parameters.minXmodemaxX
- Parameters:
parameters- is the set of accepted paramters.- Throws:
LawParameterNotFoundException- if the list of parameters does not permits to create the law.
-
TriangularStochasticLaw
public TriangularStochasticLaw(double minX1, double mode, double maxX1)Construct the law.- Parameters:
minX1- is the lower bound wheref(minX) = 0mode- is the maxima point of the distributionf(mode) = max(f(x))maxX1- is the upper bound wheref(maxX) = 0
-
-
Method Detail
-
random
@Pure public static double random(double minX, double mode, double maxX) throws MathExceptionReplies a random value that respect the current stochastic law.- Parameters:
minX- is the lower bound wheref(minX) = 0mode- is the maxima point of the distributionf(mode) = max(f(x))maxX- is the upper bound wheref(maxX) = 0- Returns:
- a value depending of the stochastic law parameters
- Throws:
MathException- when math definition error.
-
f
@Pure public double f(double x) throws MathExceptionDescription copied from interface:MathFunctionReplies the value of the function.- Parameters:
x- the x.- Returns:
- the value of
f(x). - Throws:
MathException- in casef(x)could not be computed
-
getRange
@Pure public MathFunctionRange[] getRange()
Description copied from interface:MathFunctionReplies 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 MathExceptionReplies the x according to the value of the distribution function.- Specified by:
inverseFin interfaceMathInversableFunction- Specified by:
inverseFin classStochasticLaw- Parameters:
u- is a value given by the uniform random variable generatorU(0, 1).- Returns:
F<sup>-1</sup>(u)- Throws:
MathException- in caseF<sup>-1</sup>(u)could not be computed
-
toJson
@Pure public void toJson(JsonBuffer buffer)
Description copied from interface:JsonableObjectReplies the Json representation of this node.- Parameters:
buffer- the Json buffer.
-
-