Distribution Functions toolbox
The goal of this toolbox is to provide accurate distribution functions.
The provided functions are designed to be compatible with Matlab.
The goals of this toolbox are the following.
* All functions are tested with tables (actually, csv datasets).
The tests includes accuracy tests, so that the accuracy
should by from 13 to 15 significant digits.
* For each distribution, we have
* the probability distribution function (PDF)
* the cumulated distribution function (CDF)
* the inverse CDF
* the random number generator
* the statistics (mean and variance)
* The CDF provides the upper and the lower tail of the
distribution, for accuracy reasons.
* The uniform random numbers are of high quality.
The default is to use the Mersenne-Twister generator.
* Each function has a consistent help page.
This removes confusions in the meaning
of the parameters and clarifies the differences
with other computing languages (e.g. R).
The design is similar to Matlab's distribution functions.
A significant difference with Matlab's function is that both
the upper and lower tails are available in "distfun", while
Matlab only provides the lower tail.
Hence, "distfun" should provide a better accuracy when
probabilities close to 1 are computed (e.g. p=0.9999).
The differences with Scilab is that a consistent set of
functions is provided.
First, Scilab currently does not provide the PDFs.
Users may write their own functions: this is not as easy as it
seems, and may lead to very innaccurate results if floating point
issues are ignored.
Secondly, Scilab does not provide a consistent sets of functions:
the CDF and the random number generators are provided in two
different toolboxes, with no consistency.
The difference with Stixbox is that the current function are
tested, as accurate as we could, with consistent help pages.
For each distribution x, we provide five functions :
* distfun_xcdf : x CDF
* distfun_xinv : x Inverse CDF
* distfun_xpdf : x PDF
* distfun_xrnd : x random numbers
* distfun_xstat : x mean and variance
Distributions available :
* Beta (with x=beta)
* Exponential (with x=exp)
* Gamma (with x=gam)
* Geometric (with x=geo)
* LogNormal (with x=logn)
* Normal (with x=norm)
* Uniform (with x=unif)
* distfun_erfcinv : Inverse erfc function
* distfun_getpath : Returns path of current module
Random Number Generator
* distfun_genget : Get the current random number generator
* distfun_genset : Set the current random number generator
* distfun_seedget : Get the current state of the current random number
* distfun_seedset : Set the current state of the current random number
* distfun_streamget : Get the current stream
* distfun_streaminit : Initializes the current substream
* distfun_streamset : Set the current stream