Procesos Poisson

Sea N(t) un proceso de conteo que cumple con las propiedades de Incremento Independinete (I.I) , Incremento Estacionario (I.E) y propiedad de orden.

Teorema

Si { N(t), t > 0 } es un proceso Poisson con tasa media l, la distribuci�n a trav�s del tiempo est� dado por :

Programaci�n de la funci�n

�Como debemos plantear el algoritmo para resolver casos donde x tiende a infinito y el problema de factorial nos resulta dif�cil de evaluar ?

Una soluci�n factible ser�a realizar la multiplicatoria en funci�n de x , de t�rminos num�ricamente m�s peque�os, tal como :

ALGORITMO

LEER x , t , l

mult = 1.0
SI ( x es igual a 0 ) ENTONCES
    mult = exp(-lt)
SINO
    i = 1
    fexp = exp(-lt / x+1)
    mult = fexp
    MIENTRAS (i sea menor o igual a x) HACER
        mult = mult * (lt / i ) * fexp
        i = i + 1
    FIN MIENTRAS
FIN SI

RETORNAR mult



Implementaci�n

class ProcPoisson
{
    public static  double fPoisson(int x, double lamda, double t)
    {
        double mult = 1.0;
        if (x == 0)
        {
            mult = Math.exp(-lamda * t);	
        }
        else
        {
            int i = 1;
            double fexp = Math.exp( (-lamda * t) / (double) (x+1));
            mult = fexp;
            while (i <= x)
            {    
                mult *=  ((lamda*t) / (double) i ) * fexp;
                
                /* double aux = ((lamda*t) / (double) i ) * fexp; 
                System.out.println("\t" + i + "\t" + aux + "\t" + mult); */
i++; } } return mult; }
/* :
    :
   resto de la clase
    :
*/
}



Programa de prueba

Evaluaci�n del m�todo para x = 20 , l = 3.5 , t = 20.5

class pruebaProc
{
    public static void main(String arg[ ])
    {
        System.out.println("\ti\tfactor mult\t\tacumulador\n");
		
        double f = ProcPoisson.fPoisson(20,3.5,20.5);	
		
        System.out.println("\n\tResultado : " + f);
    }	
}


Salida del programa


siguiente

Hosted by www.Geocities.ws

1