jhplot.math
Class Random

java.lang.Object
  extended by jhplot.math.Random

public class Random
extends java.lang.Object

BSD License


Constructor Summary
Random()
           
 
Method Summary
static double beta(double a, double b)
          Generate a random number from a beta random variable.
static double cauchy(double mu, double sigma)
          Generate a random number from a Cauchy random variable (Mean = Inf, and Variance = Inf).
static double chi2(int n)
          Generate a random number from a Chi-2 random variable.
static double dirac(double[] values, double[] prob)
          Generate a random number from a discrete random variable.
static double exponential(double lambda)
          Generate a random number from an exponantial random variable (Mean = 1/lambda, variance = 1/lambda^2).
static double logNormal(double mu, double sigma)
          Generate a random number from a LogNormal random variable.
static double normal(double mu, double sigma)
          Generate a random number from a Gaussian (Normal) random variable.
static double rand()
          Generate a random number between 0 and 1.
static int randInt(int i0, int i1)
          Generate a random integer.
static double rejection(graph.ParseFunction fun, double maxFun, double min, double max)
          Generate a random number from a random variable definied by its density function, using the rejection technic.
static double triangular(double min, double max)
          Generate a random number from a symetric triangular random variable.
static double triangular(double min, double med, double max)
          Generate a random number from a non-symetric triangular random variable.
static double uniform(double min, double max)
          Generate a random number from a uniform random variable.
static double weibull(double lambda, double c)
          Generate a random number from a Weibull random variable.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Random

public Random()
Method Detail

rand

public static double rand()
Generate a random number between 0 and 1. maybe changed for a better random number generator if needed.

Returns:
A double between 0 and 1.

randInt

public static int randInt(int i0,
                          int i1)
Generate a random integer.

Parameters:
i0 - Min of the random variable.
i1 - Max of the random variable.
Returns:
An int between i0 and i1.

uniform

public static double uniform(double min,
                             double max)
Generate a random number from a uniform random variable.

Parameters:
min - Min of the random variable.
max - Max of the random variable.
Returns:
A double.

dirac

public static double dirac(double[] values,
                           double[] prob)
Generate a random number from a discrete random variable.

Parameters:
values - Discrete values.
prob - Probability of each value.
Returns:
A double.

normal

public static double normal(double mu,
                            double sigma)
Generate a random number from a Gaussian (Normal) random variable.

Parameters:
mu - Mean of the random variable.
sigma - Standard deviation of the random variable.
Returns:
A double.

chi2

public static double chi2(int n)
Generate a random number from a Chi-2 random variable.

Parameters:
n - Degrees of freedom of the chi2 random variable.
Returns:
A double.

logNormal

public static double logNormal(double mu,
                               double sigma)
Generate a random number from a LogNormal random variable.

Parameters:
mu - Mean of the Normal random variable.
sigma - Standard deviation of the Normal random variable.
Returns:
A double.

exponential

public static double exponential(double lambda)
Generate a random number from an exponantial random variable (Mean = 1/lambda, variance = 1/lambda^2).

Parameters:
lambda - Parmaeter of the exponential random variable.
Returns:
A double.

triangular

public static double triangular(double min,
                                double max)
Generate a random number from a symetric triangular random variable.

Parameters:
min - Min of the random variable.
max - Max of the random variable.
Returns:
A double.

triangular

public static double triangular(double min,
                                double med,
                                double max)
Generate a random number from a non-symetric triangular random variable.

Parameters:
min - Min of the random variable.
med - Value of the random variable with max density.
max - Max of the random variable.
Returns:
A double.

beta

public static double beta(double a,
                          double b)
Generate a random number from a beta random variable.

Parameters:
a - First parameter of the Beta random variable.
b - Second parameter of the Beta random variable.
Returns:
A double.

cauchy

public static double cauchy(double mu,
                            double sigma)
Generate a random number from a Cauchy random variable (Mean = Inf, and Variance = Inf).

Parameters:
mu - Median of the Weibull random variable
sigma - Second parameter of the Cauchy random variable.
Returns:
A double.

weibull

public static double weibull(double lambda,
                             double c)
Generate a random number from a Weibull random variable.

Parameters:
lambda - First parameter of the Weibull random variable.
c - Second parameter of the Weibull random variable.
Returns:
A double.

rejection

public static double rejection(graph.ParseFunction fun,
                               double maxFun,
                               double min,
                               double max)
Generate a random number from a random variable definied by its density function, using the rejection technic. !!! WARNING : this simulation technic can take a very long time !!!

Parameters:
fun - Density function (may be not normalized) of the random variable.
maxFun - Max of the function.
min - Min of the random variable.
max - Max of the random variable.
Returns:
A double.


jHepWork 2.1 (C) S.Chekanov