/* pdtr.c
*
* Poisson distribution
*
*
*
* SYNOPSIS :
*
* int k ;
* double m , y , pdtr ( ) ;
*
* y = pdtr ( k , m ) ;
*
*
*
* DESCRIPTION :
*
* Returns the sum of the first k terms of the Poisson
* distribution :
*
* k j
* - - - m m
* > e - -
* - - j !
* j = 0
*
* The terms are not summed directly ; instead the incomplete
* gamma integral is employed , according to the relation
*
* y = pdtr ( k , m ) = igamc ( k + 1 , m ) .
*
* The arguments must both be positive .
*
*
*
* ACCURACY :
*
* See igamc ( ) .
*
*/
/* pdtrc()
*
* Complemented poisson distribution
*
*
*
* SYNOPSIS :
*
* int k ;
* double m , y , pdtrc ( ) ;
*
* y = pdtrc ( k , m ) ;
*
*
*
* DESCRIPTION :
*
* Returns the sum of the terms k + 1 to infinity of the Poisson
* distribution :
*
* inf . j
* - - - m m
* > e - -
* - - j !
* j = k + 1
*
* The terms are not summed directly ; instead the incomplete
* gamma integral is employed , according to the formula
*
* y = pdtrc ( k , m ) = igam ( k + 1 , m ) .
*
* The arguments must both be positive .
*
*
*
* ACCURACY :
*
* See igam . c .
*
*/
/* pdtri()
*
* Inverse Poisson distribution
*
*
*
* SYNOPSIS :
*
* int k ;
* double m , y , pdtr ( ) ;
*
* m = pdtri ( k , y ) ;
*
*
*
*
* DESCRIPTION :
*
* Finds the Poisson variable x such that the integral
* from 0 to x of the Poisson density is equal to the
* given probability y .
*
* This is accomplished using the inverse gamma integral
* function and the relation
*
* m = igami ( k + 1 , y ) .
*
*
*
*
* ACCURACY :
*
* See igami . c .
*
* ERROR MESSAGES :
*
* message condition value returned
* pdtri domain y < 0 or y > = 1 0 . 0
* k < 0
*
*/
/*
Cephes Math Library Release 2 . 8 : June , 2000
Copyright 1984 , 1987 , 1995 , 2000 by Stephen L . Moshier
*/
#include "mconf.h"
#ifdef ANSIPROT
extern double igam ( double , double );
extern double igamc ( double , double );
extern double igami ( double , double );
#else
double igam(), igamc(), igami();
#endif
double pdtrc( k, m )
int k;
double m;
{
double v;
if ( (k < 0 ) || (m <= 0 .0 ) )
{
mtherr( "pdtrc" , DOMAIN );
return ( 0 .0 );
}
v = k+1 ;
return ( igam( v, m ) );
}
double pdtr( k, m )
int k;
double m;
{
double v;
if ( (k < 0 ) || (m <= 0 .0 ) )
{
mtherr( "pdtr" , DOMAIN );
return ( 0 .0 );
}
v = k+1 ;
return ( igamc( v, m ) );
}
double pdtri( k, y )
int k;
double y;
{
double v;
if ( (k < 0 ) || (y < 0 .0 ) || (y >= 1 .0 ) )
{
mtherr( "pdtri" , DOMAIN );
return ( 0 .0 );
}
v = k+1 ;
v = igami( v, y );
return ( v );
}
Messung V0.5 in Prozent C=98 H=100 G=98
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-15)
¤
*© Formatika GbR, Deutschland