F_cdf

Evaluates the F distribution function.

Synopsis

#include <imsls.h>

float imsls_f_F_cdf (float f, float df_numerator, float df_denominator)

The type double function is imsls_d_F_cdf.

Required Arguments

float f (Input)
Point at which the F distribution function is to be evaluated.

float df_numerator (Input)
The numerator degrees of freedom. Argument df_numerator must be positive.

float df_denominator (Input)
The denominator degrees of freedom. Argument df_denominator must be positive.

Return Value

The probability that an F random variable takes a value less than or equal to the input point, f.

Description

Function imsls_f_F_cdf evaluates the distribution function of a Snedecor’s F random variable with df_numerator and df_denominator. The function is evaluated by making a transformation to a beta random variable, then evaluating the incomplete beta function. If X is an F variate with ν1 and ν2 degrees of freedom and Y = (ν1X)/(ν2 + ν1X), then Y is a beta variate with parameters p = ν1/2 and q= ν2/2. Function imsls_f_F_cdf also uses a relationship between F random variables that can be expressed as

FF(f|v1, v2) = 1 - FF(1/f|v2, v1)

where FF is the distribution function for an F random variable.

 

Figure 1,  Plot of FF(f, 1.0, 1.0)

Example

This example finds the probability that an F random variable with one numerator and one denominator degree of freedom is greater than 648.

 

#include <imsls.h>

#include <stdio.h>

 

int main()

{

    float  F = 648.0, df_numerator = 1.0;

    float  df_denominator = 1.0, p;

 

    p = 1.0 - imsls_f_F_cdf(F,df_numerator, df_denominator);

    printf("The probability that an F(%1.0f,%1.0f) variate"

        "is greater than %3.0f is %6.4f.\n", df_numerator,

        df_denominator, F, p);

}

 

Output

 

The probability that an F(1,1) variate is greater than 648 is 0.0250.