simulation::random - Pseudo-random number generators
package require Tcl ?8.4?
package require simulation::random 0.4
::simulation::random::prng_Bernoulli p
::simulation::random::prng_Discrete n
::simulation::random::prng_Poisson lambda
::simulation::random::prng_Uniform min
max
::simulation::random::prng_Triangular min
max
::simulation::random::prng_SymmTriangular min
max
::simulation::random::prng_Exponential min
mean
::simulation::random::prng_Normal mean
stdev
::simulation::random::prng_Pareto min
steep
::simulation::random::prng_Gumbel min f
::simulation::random::prng_chiSquared df
::simulation::random::prng_Disk rad
::simulation::random::prng_Sphere rad
::simulation::random::prng_Ball rad
::simulation::random::prng_Rectangle length
width
::simulation::random::prng_Block length width
depth
This package consists of commands to generate pseudo-random number
generators. These new commands deliver
- numbers that are distributed normally, uniformly, according to a Pareto or
Gumbel distribution and so on
- coordinates of points uniformly spread inside a sphere or a rectangle
For example:
set p [::simulation::random::prng_Normal -1.0 10.0]
produces a new command (whose name is stored in the variable "p") that
generates normally distributed numbers with a mean of -1.0 and a standard
deviation of 10.0.
The package defines the following public procedures for
discrete distributions:
- ::simulation::random::prng_Bernoulli p
- Create a command (PRNG) that generates numbers with a Bernoulli
distribution: the value is either 1 or 0, with a chance p to be 1
- ::simulation::random::prng_Discrete n
- Create a command (PRNG) that generates numbers 0 to n-1 with equal
probability.
- int n
- Number of different values (ranging from 0 to n-1)
- ::simulation::random::prng_Poisson lambda
- Create a command (PRNG) that generates numbers according to the Poisson
distribution.
The package defines the following public procedures for
continuous distributions:
- ::simulation::random::prng_Uniform min max
- Create a command (PRNG) that generates uniformly distributed numbers
between "min" and "max".
- float
min
- Minimum number that will be generated
- float
max
- Maximum number that will be generated
- ::simulation::random::prng_Triangular min max
- Create a command (PRNG) that generates triangularly distributed numbers
between "min" and "max". If the argument min is lower
than the argument max, then smaller values have higher probability and
vice versa. In the first case the probability density function is of the
form f(x) = 2(1-x) and the other case it is of the form f(x) =
2x.
- float
min
- Minimum number that will be generated
- float
max
- Maximum number that will be generated
- ::simulation::random::prng_SymmTriangular min
max
- Create a command (PRNG) that generates numbers distributed according to a
symmetric triangle around the mean of "min" and
"max".
- float
min
- Minimum number that will be generated
- float
max
- Maximum number that will be generated
- ::simulation::random::prng_Exponential min mean
- Create a command (PRNG) that generates exponentially distributed numbers
with a given minimum value and a given mean value.
- ::simulation::random::prng_Normal mean stdev
- Create a command (PRNG) that generates normally distributed numbers with a
given mean value and a given standard deviation.
- ::simulation::random::prng_Pareto min steep
- Create a command (PRNG) that generates numbers distributed according to
Pareto with a given minimum value and a given distribution steepness.
- ::simulation::random::prng_Gumbel min f
- Create a command (PRNG) that generates numbers distributed according to
Gumbel with a given minimum value and a given scale factor. The
probability density function is:
P(v) = exp( -exp(f*(v-min)))
- float
min
- Minimum number that will be generated
- float
f
- Scale factor for the values
- ::simulation::random::prng_chiSquared df
- Create a command (PRNG) that generates numbers distributed according to
the chi-squared distribution with df degrees of freedom. The mean is 0 and
the standard deviation is 1.
The package defines the following public procedures for random
point sets:
- ::simulation::random::prng_Disk rad
- Create a command (PRNG) that generates (x,y)-coordinates for points
uniformly spread over a disk of given radius.
- ::simulation::random::prng_Sphere rad
- Create a command (PRNG) that generates (x,y,z)-coordinates for points
uniformly spread over the surface of a sphere of given radius.
- ::simulation::random::prng_Ball rad
- Create a command (PRNG) that generates (x,y,z)-coordinates for points
uniformly spread within a ball of given radius.
- ::simulation::random::prng_Rectangle length
width
- Create a command (PRNG) that generates (x,y)-coordinates for points
uniformly spread over a rectangle.
- ::simulation::random::prng_Block length width
depth
- Create a command (PRNG) that generates (x,y,z)-coordinates for points
uniformly spread over a block
math, random numbers, simulation, statistical distribution
Copyright (c) 2004 Arjen Markus <arjenmarkus@users.sourceforge.net>