PDF version (NAG web site
, 64-bit version, 64-bit version)
NAG Toolbox: nag_stat_pdf_vavilov (g01mu)
Purpose
nag_stat_pdf_vavilov (g01mu) returns the value of the Vavilov density function .
It is intended to be used after a call to
nag_stat_init_vavilov (g01zu).
Syntax
Description
nag_stat_pdf_vavilov (g01mu) evaluates an approximation to the Vavilov density function
given by
where
and
,
is an arbitrary real constant and
is the exponential integral,
and
is Euler's constant.
The method used is based on Fourier expansions. Further details can be found in
Schorr (1974).
For values of , the Vavilov distribution can be replaced by the Landau distribution since . For values of , the Vavilov distribution can be replaced by a Gaussian distribution with mean and variance .
References
Schorr B (1974) Programs for the Landau and the Vavilov distributions and the corresponding random numbers Comp. Phys. Comm. 7 215–224
Parameters
Compulsory Input Parameters
- 1:
– double scalar
-
The argument of the function.
- 2:
– double array
-
This
must be the same argument
rcomm as returned by a previous call to
nag_stat_init_vavilov (g01zu).
Optional Input Parameters
None.
Output Parameters
- 1:
– double scalar
The result of the function.
- 2:
– int64int32nag_int scalar
unless the function detects an error (see
Error Indicators and Warnings).
Error Indicators and Warnings
Errors or warnings detected by the function:
-
-
Either the initialization function has not been called prior to the first call of this function or a communication array has become corrupted.
-
An unexpected error has been triggered by this routine. Please
contact
NAG.
-
Your licence key may have expired or may not have been installed correctly.
-
Dynamic memory allocation failed.
Accuracy
At least five significant digits are usually correct.
Further Comments
nag_stat_pdf_vavilov (g01mu) can be called repeatedly with different values of
provided that the values of
and
remain unchanged between calls. Otherwise,
nag_stat_init_vavilov (g01zu) must be called again.
Example
This example evaluates at , and , and prints the results.
Open in the MATLAB editor:
g01mu_example
function g01mu_example
fprintf('g01mu example results\n\n');
x = 2.5;
rkappa = 0.4;
beta2 = 0.1;
fprintf(' x rkappa beta2 y\n\n');
mode = int64(0);
[xl, xu, rcomm, ifail] = g01zu( ...
rkappa, beta2, mode);
[y, ifail] = g01mu( ...
x, rcomm);
fprintf('%4.1f%9.1f%9.1f%15.4e\n', x, rkappa, beta2, y);
g01mu example results
x rkappa beta2 y
2.5 0.4 0.1 8.3675e-02
PDF version (NAG web site
, 64-bit version, 64-bit version)
© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015