Ciao a tutti!
Sto cercando di implementare in c++ la legge di Poisson f(lambda,k)=((lambda^k)/k!)*e^-Lambda.
Per chi non è pratico cerco di spiegarlo in modo terra terra per evitare di complicare la questione:se ad esempio ipotizzo lambda=2 e k=4.5(ad esempio un media) la mia f mi dice la probabilità che data la media di 4.5 si verifichi l'evento 2.Se avessi lambda=4 il risultato porterebbe ad una probabilità chiaramente maggiore che si verifichi l'evento 4 rispetto all'evento 2. Ci sarebbe molto da dire a riguardo ma spero di aver reso l'idea. Dunque:tutto ciò in c++ l'ho posto così:
#include <iostream>
#include<cmath>
using namespace std;
int kfattoriale(double k){
int fattoriale=1;
for (int i=0; i<=k; i++)
return fattoriale *= i;
}
double poisson(double k, double lambda) {
return exp(- lambda)*((lambda *exp(k))/(kfattoriale(k)));
}
nel main richiamo le funzioni scrivendo:
poisson(i,mediatotalecasa);
dove i rappresenta l'evento di cui voglio la probabilità che si verifichi avendo una media pari a mediatotalecasa.
Il programma viene compilato ma il risultato è sempre sempre sempre 1! qualcuno può dirmi qualcosa a riguardo? Grazie mille a chi vorrà spendere un pochino del suo tempo!