simulation::random(3tcl) Tcl Simulation Tools simulation::random(3tcl)
______________________________________________________________________________
NAME
simulation::random - Pseudo-random number generators
SYNOPSIS
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
______________________________________________________________________________
DESCRIPTION
This package consists of commands to generate pseudo-random number gen-
erators. These new commands deliver
o numbers that are distributed normally, uniformly, according to a
Pareto or Gumbel distribution and so on
o coordinates of points uniformly spread inside a sphere or a rec-
tangle
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 stan-
dard deviation of 10.0.
PROCEDURES
The package defines the following public procedures for discrete dis-
tributions:
::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
float p
Chance the outcome is 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.
float lambda
Mean number per time interval
The package defines the following public procedures for continuous dis-
tributions:
::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 probabil-
ity 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 ac-
cording 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.
float min
Minimum number that will be generated
float mean
Mean value for the numbers
::simulation::random::prng_Normal mean stdev
Create a command (PRNG) that generates normally distributed num-
bers with a given mean value and a given standard deviation.
float mean
Mean value for the numbers
float stdev
Standard deviation
::simulation::random::prng_Pareto min steep
Create a command (PRNG) that generates numbers distributed ac-
cording to Pareto with a given minimum value and a given distri-
bution steepness.
float min
Minimum number that will be generated
float steep
Steepness of the distribution
::simulation::random::prng_Gumbel min f
Create a command (PRNG) that generates numbers distributed ac-
cording 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 ac-
cording to the chi-squared distribution with df degrees of free-
dom. The mean is 0 and the standard deviation is 1.
float df
Degrees of freedom
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.
float rad
Radius of the disk
::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.
float rad
Radius of the disk
::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.
float rad
Radius of the ball
::simulation::random::prng_Rectangle length width
Create a command (PRNG) that generates (x,y)-coordinates for
points uniformly spread over a rectangle.
float length
Length of the rectangle (x-direction)
float width
Width of the rectangle (y-direction)
::simulation::random::prng_Block length width depth
Create a command (PRNG) that generates (x,y,z)-coordinates for
points uniformly spread over a block
float length
Length of the block (x-direction)
float width
Width of the block (y-direction)
float depth
Depth of the block (z-direction)
KEYWORDS
math, random numbers, simulation, statistical distribution
CATEGORY
Mathematics
COPYRIGHT
Copyright (c) 2004 Arjen Markus <arjenmarkus@users.sourceforge.net>
tcllib 0.4 simulation::random(3tcl)