Evaluates the Bradford distribution CDF.

You're viewing an older version of this page (#442). View the current version.

View versions (2)

Interface

#include <codecogs/statistics/distributions/continuous/bradford/cdf.h>

using namespace Statistics::Distributions::Continuous::Bradford;

This function evaluates the CDF of the Bradford distribution with given argument, defined by

D(x, a, b, c) = \frac{ \ln \left( 1 + \frac{c(x - a)}{b - a} \right)} {\ln (c + 1)}
\quad \mbox{for } a < x \leq b
(1)

and

D(x, a, b, c) = 0 \quad \mbox{for } x \leq a
\qquad
D(x, a, b, c) = 1 \quad \mbox{for } x > b
(2)

where

a < b \quad \mbox{ and } \quad c > 0
(3)

In the following figure a =-10 b= 10 and the curve of the line is set by c =5 \graph x=-10:10 a=-10 b=10 c=5

Example 1

In the example that follows, the CDF is evaluated using values from 0 up to 0.8 with a step equal to 0.1. The maximum number of precision digits, implicitly set to 17, may be changed through the <em> PRECISION </em> define.

#include <codecogs/stats/dists/continuous/bradford/cdf.h>
#include <iostream>
#include <iomanip>

#define PRECISION 17

int main()
{
  std::cout << "The values of the Bradford CDF with " << std::endl;
  std::cout << "a = 0, b = 0.7, c = 3 and" << std::endl;
  std::cout << "x = {0, 0.1, 0.2, ... , 0.8} are" << std::endl;
  std::cout << std::endl;
  std::cout << std::setprecision(10);
  for (double x = 0; x < 0.81; x += 0.1)
  {
    std::cout << std::setprecision(1);
    std::cout << "x = " << std::setw(3) << x << " : ";
    std::cout << std::setprecision(PRECISION);
    std::cout << Stats::Dists::Continuous::Bradford::CDF(x, 0, 0.7, 3);
    std::cout << std::endl;
  }
  return 0;
}

Output

The values of the Bradford CDF with
a = 0, b = 0.7, c = 3 and
x = {0, 0.1, 0.2, ... , 0.8} are

x =   0 : 0
x = 0.1 : 0.25728658641487911
x = 0.2 : 0.44654239804174406
x = 0.3 : 0.59632253897119802
x = 0.4 : 0.72028629569299074
x = 0.5 : 0.82603834828984657
x = 0.6 : 0.91825063385856021
x = 0.7 : 1
x = 0.8 : 1

Parameters

x
the argument of the CDF
a
the first parameter of the distribution (strictly less than b)
b
the second parameter of the distribution
c
the third parameter of the distribution (strictly positive)

Returns

the CDF of the Bradford distribution

References

John Burkardt&#039;s library of statistical C++ routines, http://www.csit.fsu.edu/~burkardt/cpp_src/prob/prob.html

GPL Licence — free for non commercial use. See Licence details.

Interactive Calculator

x
a
b
c
Result