J'ai besoin d'une fonction C pour calculer la distribution de Poisson pour les valeurs de k jusqu'à 720. J'ai besoin d'une solution très efficace.Calcul de la distribution de Poisson en C
Répondre
donner un essayer GSL: gsl_ran_poisson_pdf
Si vous voulez calculer vous-même au lieu d'utiliser une bibliothèque Vous pouvez le calculer en utilisant la formule .. e^k * e^(- lambda)/k!
vous pouvez utiliser le log (n!) = Log (n) + log (n-1!) Et la programmation dynamique
Poisson générateur aléatoire
int poissonRandom(double expectedValue) {
int n = 0; //counter of iteration
double limit;
double x; //pseudo random number
limit = exp(-expectedValue);
x = rand()/INT_MAX;
while (x > limit) {
n++;
x *= rand()/INT_MAX;
}
return n;
}
Je suppose que je suis assez en retard pour votre urgence demande.
Cela a également discuté avec d'autres à: https://en.wikipedia.org/wiki/Poisson_distribution#Generating_Poisson-distributed_random_variables – plasmacel
Je suppose que c'est trop tard pour la demande initiale, mais je pense que certaines réponses manquent le point - je ne pense pas qu'il souhaite générer des nombres aléatoires à partir d'une distribution, mais veut la distribution elle-même. Voici une fonction pour faire cela en évitant le calcul de factorielles qui peuvent devenir grandes.
double poisson(int k, double mean) {
double p = std::exp(-mean);
double f = 1;
for (int i=0 ; i<k ; i++) f *= mean/(i+1);
return p*f;
}
- 1. Calculer le pourcentage de probabilité de poisson
- 2. Package de distribution des calculs
- 3. C++ TR1: comment utiliser la distribution normale?
- 4. Conversion d'une distribution uniforme en distribution normale
- 5. Est-il possible en C# de surcharger un opérateur de distribution générique de la façon suivante?
- 6. C#: Comment utiliser l'opérateur de distribution implicite lors de la conversion d'un objet en un type?
- 7. Calcul de la largeur et de la hauteur d'une chaîne formatée en C#
- 8. Calcul de la valeur actuelle
- 9. Script de distribution FTP
- 10. Calcul de la durée de la vidéo
- 11. Appel SQL avec une clause de calcul en C#
- 12. Produire plusieurs feuilles de calcul dans Excel en utilisant C#
- 13. C++: générer une distribution gaussienne
- 14. calcul de temps en xslt
- 15. Calcul de la vitesse de connexion/téléchargement
- 16. C# Accès à la feuille de calcul Excel
- 17. Algorithme de distribution équilibrée
- 18. Calcul de la longueur de stock optimale
- 19. C# et le calcul scientifique
- 20. Distribution d'applications en interne-iPhone
- 21. calcul de la somme de contrôle UDP
- 22. Excel feuille de calcul
- 23. Calcul de la différence des dates en Java
- 24. affectation de calcul dépendant LINQ
- 25. Calcul du point sur la circonférence d'un cercle à partir de l'angle en C#?
- 26. Distribution de changement de table SQL
- 27. Utilisation de Maven pour la distribution de projet
- 28. Calcul de la bande passante # 2
- 29. Algorithme de calcul de l'ensemble de puissance
- 30. Calcul de la signification statistique avec Excel
Ceci n'est pas RentACoder, et le manque de planification de votre part ne constitue pas une urgence de notre part. Vous êtes censé au moins faire un effort minimal (et nous dire de quoi il s'agit) plutôt que de simplement faire des demandes. – paxdiablo