cdfBvn2e#

Purpose#

Returns the bivariate Normal cumulative distribution function of a bounded rectangle.

Format#

{ y, e } = cdfBvn2e(h, dh, k, dk, r)#
Parameters:
  • h (Nx1 vector) – starting points of integration for variable 1.

  • dh (Nx1 vector) – increments for variable 1.

  • k (Nx1 vector) – starting points of integration for variable 2.

  • dk (Nx1 vector) – increments for variable 2.

  • r (Nx1 vector) – correlation coefficients between the two variables.

Returns:
  • p (Nx1 vector) – the integral over the rectangle bounded by h, h + dh, k, and k + dk of the standardized bivariate Normal distribution.

  • e (Nx1 vector) – an error estimate.

Examples#

Example 1#

// Starting point of integration for variable 1
h = 1;

// Increments for variable 1
dh = -1;

// Starting point of integration for variable 2
k = 1;

// Increments for variable 2
dk = -1;

// Correlation coefficient
rho = 0.5;

print cdfBvn2e(h, dh, k, dk, rho);

After running the above code,

1.4105101488974692e-001
1.9927918166193113e-014

Example 2#

print cdfBvn2e(1,-1e-15,1,-1e-15,0.5);

After running the above code,

7.3955709864469857e-032
2.8306169312687801e-030

Example 3#

print cdfBvn2e(1,-1e-45,1,-1e-45,0.5);

After running the above code,

0.0000000000000000e+000
2.8306169312687770e-060

Remarks#

Scalar input arguments are okay; they will be expanded to Nx1 vectors.

cdfBvn2e() computes:

cdfBvn(h + dh, k +  dk, r) + cdfBvn(h, k, r) - cdfBvn(h, k + dk, r) - cdfBvn(h + dh, k, r)

The real answer is \(y ± e\). The size of the error depends on the input arguments.

See also

Functions cdfBvn2(), lncdfbvn2()