rndHyperGeo

Purpose

Computes the random numbers for the hypergeometric distribution

Format

x = rndHyperGeo(r, c, m, k, n)
{ x, newstate } = rndHyperGeo(r, c, m, k, n, state)
Parameters:
  • r (scalar) – row dimension of the return matrix x
  • c (scalar) – column dimension of the return matrix x
  • m (matrix) – The size of the population from which draws will be made. ExE conformable with the row and column dimensions of the return matrix, r and c
  • k (matrix) – The number of items in the population which possess a specified trait. ExE conformable with row and column dimensions of the return matrix, r, and c
  • n (matrix) – The number of items drawn from the population. ExE conformable with the dimensions of the return matrix, r and c
  • state (scalar or opaque vector) –

    Optional argument.

    scalar case

    state = starting seed value only. If -1, GAUSS computes the starting seed based on the system clock.

    opaque vector case

    state = the state vector returned from a previous call to one of the rnd random number functions.

Returns:
  • x (NxK matrix, Nx1 vector or scalar) – The probability of drawing x items which possess a specified trait.
  • new_state (Opaque vector) – the updated state

Examples

Basic Example

// Population size
m = 100;

// Number of marked items
k = 25;

// Number of items drawn
n = 40;

// Compute 1 random number
x = rndHyperGeo(1, 1, m, k, n);

Random matrix in which each column has different parameters.

// Population size
m = 100;

// Number of marked items
k = 25;

// 1x2 row vector, number of items drawn
n = { 40 50 };

// Compute a 10 x 2 matrix of random number
x = rndHyperGeo(10, 2, m, k, n);

Both columns of the variable x created in the code above use the same values for m and k. However, the first column of x will be calculated using the first element of n, 40. The second column of x will be calculated using the second element of n, 50.

Passing in a state vector

// Starting seed value
seed = 23424;

// Population size
m = 100;

// Number of marked items
k = 25;

// Number of items drawn
n = 40;

// Compute 1000x1 vector of random numbers
{ x, state } = rndHyperGeo(1000, 1, m, k, n, seed);

See also

Functions cdfHyperGeo(), pdfHyperGeo()