Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

matvec::BetaDist Class Reference

#include <statdist.h>

Inheritance diagram for matvec::BetaDist:

matvec::StatDistBase List of all members.

Detailed Description

beta statistical distribution.

Definition at line 309 of file statdist.h.

Public Methods

 BetaDist (const double a, const double b, const double nc=0.0)
 BetaDist (const BetaDist &u)
void display (void) const
void reset (const double a, const double b, const double nc=0.0)
void sample (Vector< double > &x) const
void sample (doubleMatrix &x) const
double sample (void) const
Vector< double > sample (unsigned n) const
doubleMatrix sample (unsigned m, unsigned n) const
double mean (void) const
double variance (void) const
double pdf (const double x) const
double cdf (const double x) const
double mgf (const double t) const
double inv (const double p) const
double nonct (const double cv, const double p) const
double parameter (const int k) const
void parameter (const int k, const double x)
virtual const std::string name (void) const
virtual double nonct (const double cv, const double p)

Protected Attributes

double alpha_value
double beta_value
double nc_value
std::string distname


Constructor & Destructor Documentation

matvec::BetaDist::BetaDist const double    a,
const double    b,
const double    nc = 0.0
[inline]
 

Definition at line 313 of file statdist.h.

References matvec::StatDistBase::distname, and reset().

00314                                   {distname="BetaDist"; reset(a,b,nc);}

matvec::BetaDist::BetaDist const BetaDist &    u [inline]
 

Definition at line 315 of file statdist.h.

References matvec::StatDistBase::distname, and reset().

00315                                  :StatDistBase() 
00316         {distname="BetaDist"; reset(u.alpha_value,u.beta_value,u.nc_value);}


Member Function Documentation

double matvec::BetaDist::cdf const double    x const [inline, virtual]
 

Implements matvec::StatDistBase.

Definition at line 330 of file statdist.h.

References alpha_value, matvec::Beta_cdf(), beta_value, and nc_value.

00330                                         {int errcode=0;
00331                    return Beta_cdf(x,alpha_value,beta_value,nc_value,errcode);}

void matvec::BetaDist::display void    const [inline, virtual]
 

Implements matvec::StatDistBase.

Definition at line 318 of file statdist.h.

References alpha_value, beta_value, matvec::StatDistBase::distname, and nc_value.

00318                                   {std::cout << "\t" << distname << "("
00319                                 << alpha_value << "," << beta_value << ","
00320                                 << nc_value << ")\n"; return;}

double matvec::BetaDist::inv const double    p const [virtual]
 

Implements matvec::StatDistBase.

Definition at line 1009 of file statdist.cpp.

References sample().

01011 {
01012    Vector<double> x(n);
01013    sample(x);
01014    return x;
01015 }
01016 
01017 doubleMatrix BetaDist::sample(unsigned m,unsigned n) const
01018 {
01019    doubleMatrix x(m,n);
01020    sample(x);
01021    return x;
01022 }
01023 
01024 double BetaDist::inv(const double p) const
01025 {
01026    if (p<0.0 || p>1.0) throw exception("BetaDist::inv(): bad arg, value between [0,1] expected");
01027    int errcode = 0;
01028    double eps = 1.0e-6;
01029    double bot = 0.0;
01030    double top = 1.0;
01031    double p2,ppt;
01032    while (top-bot > eps) {

double matvec::BetaDist::mean void    const [virtual]
 

Implements matvec::StatDistBase.

Definition at line 963 of file statdist.cpp.

00966         {
00967       throw exception("BetaDist::pdf(): not available yet : noncentrality");

double matvec::BetaDist::mgf const double    t const [virtual]
 

Implements matvec::StatDistBase.

Definition at line 957 of file statdist.cpp.

References alpha_value, beta_value, and nc_value.

00957 {
00958    if (x <=0.0 || x>=1.0) throw exception("BetaDist::pdf(): bad arg, value in (0,1) is expected");
00959    double pr = 0.0;;
00960    if (nc_value == 0.0) {
00961       double a = alpha_value;

virtual const std::string matvec::StatDistBase::name void    const [inline, virtual, inherited]
 

Definition at line 45 of file statdistbase.h.

References matvec::StatDistBase::distname.

00045 {return distname;}

virtual double matvec::StatDistBase::nonct const double    cv,
const double    p
[inline, virtual, inherited]
 

Definition at line 58 of file statdistbase.h.

00058 {std::cerr << "error\n"; return 0.0;}

double matvec::BetaDist::nonct const double    cv,
const double    p
const [inline]
 

Definition at line 334 of file statdist.h.

00335                       {std::cerr << "BetaDist::nonct(): not available\n"; return p;}

void matvec::BetaDist::parameter const int    k,
const double    x
[virtual]
 

Implements matvec::StatDistBase.

Definition at line 1052 of file statdist.cpp.

References alpha_value.

01052              {
01053       par = alpha_value;
01054    }
01055    else if (k==2) {
01056       par = beta_value;
01057    }
01058    else if (k==3) {
01059       par = nc_value;
01060    }
01061    else {
01062       throw exception("BetaDist::parameter(): bad arg, value 1(2,3) is expected");
01063    }
01064    return par;
01065 }
01066 
01067 void BetaDist::parameter(const int k,const double x)
01068 {

double matvec::BetaDist::parameter const int    k const [virtual]
 

Implements matvec::StatDistBase.

Definition at line 1034 of file statdist.cpp.

References alpha_value, beta_value, and nc_value.

01036                    {
01037          bot = ppt;
01038       }
01039       else if (p2 > p) {
01040          top = ppt;
01041       }
01042       else {
01043          break;
01044       }
01045    }
01046    return ppt;
01047 }
01048 
01049 double BetaDist::parameter(const int k) const
01050 {

double matvec::BetaDist::pdf const double    x const [virtual]
 

Implements matvec::StatDistBase.

Definition at line 941 of file statdist.cpp.

00941                                                           : bad arg1");
00942    theta_value = x;
00943 }
00944 
00945 
00946 ///////////////////  BetaDist class /////////////////////////////
00947 
00948 void BetaDist::reset(const double a, const double b,const double nc)
00949 {
00950    if (a <= 0.0 || b <= 0.0) throw exception("BetaDist::reset(): invalid args");
00951    alpha_value = a;
00952    beta_value = b;
00953    nc_value = nc;
00954 }
00955 

void matvec::BetaDist::reset const double    a,
const double    b,
const double    nc = 0.0
 

Definition at line 933 of file statdist.cpp.

Referenced by BetaDist().

00934 {
00935    if (k != 1) throw exception("ExponentialDist::parameter(): bad arg, 1 is expected");
00936    return theta_value;
00937 }
00938 
00939 void ExponentialDist::parameter(const int k,const double x)

doubleMatrix matvec::BetaDist::sample unsigned    m,
unsigned    n
const [virtual]
 

Implements matvec::StatDistBase.

Definition at line 1002 of file statdist.cpp.

References alpha_value, and beta_value.

01004                                  {
01005       bot = x[i];  top = &bot[nc];
01006       while (bot < top ) *bot++ = genbet(alpha_value,beta_value) ;
01007    }

Vector< double > matvec::BetaDist::sample unsigned    n const [virtual]
 

Implements matvec::StatDistBase.

Definition at line 995 of file statdist.cpp.

References alpha_value, and beta_value.

01000 {

double matvec::BetaDist::sample void    const [inline, virtual]
 

Implements matvec::StatDistBase.

Definition at line 324 of file statdist.h.

References alpha_value, beta_value, and matvec::genbet().

Referenced by inv().

00324 {return genbet(alpha_value,beta_value);}

void matvec::BetaDist::sample doubleMatrix   x const [virtual]
 

Implements matvec::StatDistBase.

Definition at line 984 of file statdist.cpp.

References alpha_value, beta_value, and nc_value.

00985 {
00986    if (nc_value != 0.0) throw exception("BetaDist::variance(): not availabe: noncentrality");
00987    double a = alpha_value*beta_value;
00988    double b = alpha_value+beta_value;
00989    return a/((b+1)*b*b);
00990 }
00991 
00992 void BetaDist::sample(Vector<double>& x) const
00993 {

void matvec::BetaDist::sample Vector< double > &    x const [virtual]
 

Implements matvec::StatDistBase.

Definition at line 977 of file statdist.cpp.

References alpha_value, beta_value, and nc_value.

00979 {
00980    if (nc_value != 0.0) throw exception("BetaDist::mean(): not availabe: noncentrality");
00981    return alpha_value/(alpha_value+beta_value);
00982 }

double matvec::BetaDist::variance void    const [virtual]
 

Implements matvec::StatDistBase.

Definition at line 969 of file statdist.cpp.

00973 {
00974    throw exception("BetaDist:mgf(t): not available yet");
00975    return 0.0;


Member Data Documentation

double matvec::BetaDist::alpha_value [protected]
 

Definition at line 311 of file statdist.h.

Referenced by cdf(), display(), mgf(), parameter(), matvec::DiscreteUniformDist::reset(), and sample().

double matvec::BetaDist::beta_value [protected]
 

Definition at line 311 of file statdist.h.

Referenced by cdf(), display(), mgf(), parameter(), and sample().

std::string matvec::StatDistBase::distname [protected, inherited]
 

Definition at line 39 of file statdistbase.h.

Referenced by BetaDist(), matvec::BinomialDist::BinomialDist(), matvec::ChiSquareDist::ChiSquareDist(), matvec::DiscreteUniformDist::DiscreteUniformDist(), matvec::NegativeBinomialDist::display(), matvec::GeometricDist::display(), matvec::PoissonDist::display(), matvec::BinomialDist::display(), matvec::DiscreteUniformDist::display(), display(), matvec::ExponentialDist::display(), matvec::GammaDist::display(), matvec::FDist::display(), matvec::tDist::display(), matvec::ChiSquareDist::display(), matvec::LogNormalDist::display(), matvec::NormalDist::display(), matvec::UniformDist::display(), matvec::ExponentialDist::ExponentialDist(), matvec::FDist::FDist(), matvec::GammaDist::GammaDist(), matvec::GeometricDist::GeometricDist(), matvec::LogNormalDist::LogNormalDist(), matvec::StatDistBase::name(), matvec::NegativeBinomialDist::NegativeBinomialDist(), matvec::NormalDist::NormalDist(), matvec::PoissonDist::PoissonDist(), matvec::StatDistBase::StatDistBase(), matvec::tDist::tDist(), and matvec::UniformDist::UniformDist().

double matvec::BetaDist::nc_value [protected]
 

Definition at line 311 of file statdist.h.

Referenced by cdf(), display(), mgf(), parameter(), and sample().


The documentation for this class was generated from the following files:
Generated on Thu Jun 16 17:14:16 2005 for Matvec by doxygen1.2.16