Package org.arakhne.afc.math.stochastic
Class LinearStochasticLaw
- java.lang.Object
-
- org.arakhne.afc.math.stochastic.StochasticLaw
-
- org.arakhne.afc.math.stochastic.LinearStochasticLaw
-
- All Implemented Interfaces:
MathFunction,MathInversableFunction,JsonableObject
public class LinearStochasticLaw extends StochasticLaw
Law that representes a linear density.The linear distribution is based on
f(x) = a.x+bwhere, if the distribution is ascendent,a>0andf(minX) = 0, and if the distribution is descendent,a<0andf(maxX) = 0.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 LinearStochasticLaw(double minX, double maxX)Create a ascendent linear distribution.LinearStochasticLaw(double minX, double maxX, boolean ascendent)Create a linear distribution.LinearStochasticLaw(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 maxX)Replies a random value that respect the current stochastic law.static doublerandom(double minX, double maxX, boolean ascendent)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
-
LinearStochasticLaw
public LinearStochasticLaw(Map<String,String> parameters) throws LawParameterNotFoundException
Construct a law with the following parameters.ascendentminXmaxYdelta
- Parameters:
parameters- is the set of accepted paramters.- Throws:
LawParameterNotFoundException- if the list of parameters does not permits to create the law.
-
LinearStochasticLaw
public LinearStochasticLaw(double minX, double maxX)Create a ascendent linear distribution.- Parameters:
minX- is the lower bound of the distributionmaxX- is the upper bound of the distribution
-
LinearStochasticLaw
public LinearStochasticLaw(double minX, double maxX, boolean ascendent)Create a linear distribution.- Parameters:
minX- is the lower bound of the distributionmaxX- is the upper bound of the distributionascendent- indicates of the distribution function is ascendent or not
-
-
Method Detail
-
random
@Pure public static double random(double minX, double maxX, boolean ascendent) throws MathExceptionReplies a random value that respect the current stochastic law.- Parameters:
minX- is the lower bound of the distributionmaxX- is the upper bound of the distributionascendent- indicates of the distribution function is ascendent or not- Returns:
- a value depending of the stochastic law parameters
- Throws:
MathException- when error in the math definition.
-
random
@Pure public static double random(double minX, double maxX) throws MathExceptionReplies a random value that respect the current stochastic law.The used stochastic law is the ascendent linear distribution.
- Parameters:
minX- is the lower bound of the distributionmaxX- is the upper bound of the distribution- Returns:
- a value depending of the stochastic law parameters
- Throws:
MathException- when error in the math definition.
-
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.
-
-