______________________________________________________________________________
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
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 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.
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 numbers 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 according to Pareto with a
given minimum value and a given distribution 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 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.
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)
math, random numbers, simulation, statistical distribution
Mathematics
Copyright (c) 2004 Arjen Markus <[email protected]>