# rndBinomial¶

## Purpose¶

Computes binomial pseudo-random numbers with the choice of underlying random number generator.

## Format¶

x = rndBinomial(r, c, trials, prob)
{ x, newstate } = rndBinomial(r, c, trials, prob, state)
Parameters: r (scalar) – number of rows of resulting matrix. c (scalar) – number of columns of resulting matrix. trials (matrix or vector or scalar) – the number of trials, scalar or ExE conformable with r and c. prob (matrix or vector or scalar) – the probability of success of each trial, scalar or ExE conformable with 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. x (RxC matrix) – binomially distributed random numbers. newstate (Opaque vector) – the updated state.

## Examples¶

### Basic usage¶

// Set seed for repeatable random numbers
rndseed 7345;

// Simulate the number of successes from 1024 trials,
// each of which have a 40% chance of success, 3 times
n = 1024;
p = 0.4;
k = rndBinomial(3, 1, n, p);


After the code above, k should equal:

413
390
427


### Pass seed and return state vector¶

// Simulate the number of successes from 1024 trials,
// each of which have a 40% chance of success, 3 times
n = 1024;
p = 0.4;

// Pass in seed as optional final input argument
// and return state vector as second output
{ k, state } = rndBinomial(3, 1, n, p, 7345);


After the code above, k should equal:

413
390
427


### Technical Notes¶

The default generator for func:rndBinomial is the SFMT Mersenne-Twister 19937. You can specify a different underlying random number generator with the function rndCreateState().

## Remarks¶

The properties of the pseudo-random numbers in x are:

$\begin{split}\mu = np\\ \sigma^2 = np(1 - p)\\ \text{pmf } = {{n}\choose{k}}p^k(1 - p)^{n - k}\\ \text{ }\\ \text{n = number of trials}\\ \text{p = probability of success}\\ \text{k = number of successes}\end{split}$

r and c will be truncated to integers if necessary.