Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

Chapter Contents
Chapter Introduction
NAG Toolbox

NAG Toolbox: nag_stat_prob_vavilov (g01eu)

Purpose

nag_stat_prob_vavilov (g01eu) returns the value of the Vavilov distribution function ${\Phi }_{V}\left(\lambda \text{;}\kappa ,{\beta }^{2}\right)$.
It is intended to be used after a call to nag_stat_init_vavilov (g01zu).

Syntax

[result, ifail] = g01eu(x, rcomm)
[result, ifail] = nag_stat_prob_vavilov(x, rcomm)

Description

nag_stat_prob_vavilov (g01eu) evaluates an approximation to the Vavilov distribution function ${\Phi }_{V}\left(\lambda \text{;}\kappa ,{\beta }^{2}\right)$ given by
 $ΦVλ;κ,β2=∫-∞λϕVλ;κ,β2dλ,$
where $\varphi \left(\lambda \right)$ is described in nag_stat_pdf_vavilov (g01mu). The method used is based on Fourier expansions. Further details can be found in Schorr (1974).

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:     $\mathrm{x}$ – double scalar
The argument $\lambda$ of the function.
2:     $\mathrm{rcomm}\left(322\right)$ – double array
This must be the same argument rcomm as returned by a previous call to nag_stat_init_vavilov (g01zu).

None.

Output Parameters

1:     $\mathrm{result}$ – double scalar
The result of the function.
2:     $\mathrm{ifail}$int64int32nag_int scalar
${\mathbf{ifail}}={\mathbf{0}}$ unless the function detects an error (see Error Indicators and Warnings).

Error Indicators and Warnings

Errors or warnings detected by the function:
${\mathbf{ifail}}=1$
Either the initialization function has not been called prior to the first call of this function or a communication array has become corrupted.
${\mathbf{ifail}}=-99$
${\mathbf{ifail}}=-399$
Your licence key may have expired or may not have been installed correctly.
${\mathbf{ifail}}=-999$
Dynamic memory allocation failed.

Accuracy

At least five significant digits are usually correct.

nag_stat_prob_vavilov (g01eu) can be called repeatedly with different values of $\lambda$ provided that the values of $\kappa$ and ${\beta }^{2}$ remain unchanged between calls. Otherwise, nag_stat_init_vavilov (g01zu) must be called again. This is illustrated in Example.

Example

This example evaluates ${\Phi }_{V}\left(\lambda \text{;}\kappa ,{\beta }^{2}\right)$ at $\lambda =0.1$, $\kappa =2.5$ and ${\beta }^{2}=0.7$, and prints the results.
```function g01eu_example

fprintf('g01eu example results\n\n');

% Vavilov distribution function
rkappa = 2.5;
beta2 = 0.7;
mode = int64(1);
x = 0.1;

[xl, xu, work, ifail] = g01zu( ...
rkappa, beta2, mode);

[p, ifail] = g01eu(x, work);

fprintf('Phi_v(%5.1f;%5.1f,%6.2f) = %7.4f\n',x,rkappa,beta2,p);

```
```g01eu example results

Phi_v(  0.1;  2.5,  0.70) =  0.9998
```