|
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-
|