Re: Arkistoon toivottavasti


Lähetti: Tane (212.146.11.10) March 01, 2001 at 22:28:01:

Emoviesti: Arkistoon lähettänyt jal March 01, 2001 at 18:09:45:

/* ------------------------------------------------------------------------------------ */
/* */
/* Tekijä : Tauno Hyvärinen */
/* Email : hyvarta@iobox.fi */
/* Päiväys : 01.03.2001 */
/* Kuvaus : Funktioiden avulla voi laskea Poisson -jakauman arvon tietyille tulok- */
/* sille tietyillä odotusmaali arvoilla. Funktiot on ohjelmoitu C-kielellä.*/
/* */
/* ------------------------------------------------------------------------------------ */

//double Poissonilla_tuloksen_tn(double, double, double, double);
//double Poisson(double, double);
//long Kertoma(double);

/* ------------------------------------------------------------------------------------ */
/* Poissonilla_tuloksen_tn */
/* */
/* Lasketaan tietyntuloksen laskennallinen kerroin. */
/* */
/* Tulotiedot: */
/* - koti = kotijoukkueen maalien odotusarvo */
/* - vieras = vierasjoukkueen maalien odotusarvo */
/* - m1 = kotijoukkueen maali, jolle lasketaan kerrointa */
/* - m2 = vierasjoukkueen maali, jolle lasketaan kerrointa */
/* */
/* Paluutiedot: */
/* - kerroin = halutun tuloksen laskennallinen kerroin prosentteina. */
/* */
/* ------------------------------------------------------------------------------------ */

double Poissonilla_tuloksen_tn(double koti, double vieras, double m1, double m2)
{
double kp, vp = 0;

kp = Poisson(koti, m1);
vp = Poisson(vieras, m2);
return(kp*vp);
}

/* ------------------------------------------------------------------------------------ */
/* Poisson */
/* */
/* Lasketaan Poissonin jakauman mukainen kerroin tietylle tulokselle. */
/* */
/* Käytettävä kaava on */
/* P(k) = (a^k/k!)*e^-a, jossa */
/* */
/* e = Neperin luku (~2.71828, exp korottaa Neperin luvun annettuun exponenttiin) */
/* kaavan a ja k on kerrottu alla tulotietojen kohdalla */
/* */
/* Tulotiedot: */
/* - a = maalien oletusarvo */
/* - k = maalimäärä, jolle lasketaan todennäköisyyttä */
/* */
/* Paluutiedot: */
/* - pros = annetuilla ehdoilla laskettu todennäköisyys tietylle tulokselle. */
/* */
/* ------------------------------------------------------------------------------------ */

double Poisson(double a, double k)
{
return((pow(a, k)/(Kertoma(k))) * exp(-a));
}

/* ------------------------------------------------------------------------------------ */
/* Kertoma */
/* */
/* Lasketaan kertoma annetulle luvulle. */
/* */
/* Tulotiedot: */
/* - n = luku, jolle kertoma lasketaan */
/* */
/* Paluutiedot: */
/* - tulos = annetulle luvulle laskettu kertoma. */
/* */
/* ------------------------------------------------------------------------------------ */

long Kertoma(double n)
{
long tulos=1;
while(n>1)
{
tulos = tulos*(long)n;
n--;
}
return(tulos);
}

Tuossapa olisi, pientä syherrystä.

Käyttöohjeita tuskin tarvitsee.

-Tane-


[ peliturinat ] [ FAQ ]