Chapter 11: Probability Distribution Functions and Inverses > binomial_pdf

binomial_pdf

Evaluates the binomial probability function.

Synopsis

#include <imsls.h>

float imsls_f_binomial_pdf (int k, int n, float p)

The type double function is imsls_d_binomial_pdf.

Required Arguments

int k   (Input)
Argument for which the binomial probability function is to be evaluated.

int n   (Input)
Number of Bernoulli trials.

float p   (Input)
Probability of success on each trial.

Return Value

The probability that a binomial random variable takes on a value equal to k.

Description

The function imsls_f_binomial_pdf evaluates the probability that a binomial random variable with parameters n and p takes on the value k. It does this by computing probabilities of the random variable taking on the values in its range less than (or the values greater than) k. These probabilities are computed by the recursive relationship

To avoid the possibility of underflow, the probabilities are computed forward from 0, if k is not greater than n times p, and are computed backward from n, otherwise. The smallest positive machine number, ε, is used as the starting value for computing the probabilities, which are rescaled by (1 p)nε if forward computation is performed and by pnε if backward computation is done.

For the special case of p = 0, imsls_f_binomial_pdf is set to 0 if k is greater than 0 and to 1 otherwise; and for the case p = 1, imsls_f_binomial_pdf is set to 0 if k is less than n and to 1 otherwise.

Example 1

Suppose X is a binomial random variable with n = 5 and p = 0.95. In this example, we find the probability that X is equal to 3.

 

#include <stdio.h>

#include <imsls.h>

 

int main()

{

    int k = 3, n = 5;

    float p = 0.95, prob;

 

    prob = imsls_f_binomial_pdf(k, n, p);

    printf("The probability that X is equal to "

        "%d is %f\n", k, prob);

}

Output

The probability that X is equal to 3 is 0.021434


RW_logo.jpg
Contact Support