Package org.arakhne.afc.math.stochastic
Class BernoulliStochasticLaw
- java.lang.Object
-
- org.arakhne.afc.math.stochastic.StochasticLaw
-
- org.arakhne.afc.math.stochastic.BernoulliStochasticLaw
-
- All Implemented Interfaces:
MathFunction,MathInversableFunction,JsonableObject
public class BernoulliStochasticLaw extends StochasticLaw
Law that representes a Bernoulli density.Bernoulli distribution with parameter
pis defined forx=0andx=1:
F(x) = p.x + (1-p)(1-x) = (2p-1).x - p + 1
This distribution returns 0 or 1 with probability (1-p) and p, respectively.This class uses the uniform random number distribution provider 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 BernoulliStochasticLaw(double p)Construct a law with the p parameter.BernoulliStochasticLaw(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 p)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
-
BernoulliStochasticLaw
public BernoulliStochasticLaw(Map<String,String> parameters) throws LawParameterNotFoundException
Construct a law with the following parameters.p
- Parameters:
parameters- is the set of accepted paramters.- Throws:
LawParameterNotFoundException- if the list of parameters does not permits to create the law.
-
BernoulliStochasticLaw
public BernoulliStochasticLaw(double p)
Construct a law with the p parameter.- Parameters:
p- is the probability where the value is1
-
-
Method Detail
-
random
@Pure public static double random(double p) throws MathExceptionReplies a random value that respect the current stochastic law.- Parameters:
p- is the probability where the value is1- 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.
-
-