Introduction
Dans ce laboratoire, vous apprendrez à calculer les probabilités de Poisson en C. La distribution de Poisson est une distribution de probabilité qui exprime la probabilité qu'un nombre donné d'événements se produise dans un intervalle de temps ou d'espace fixe. Vous apprendrez d'abord à lire le paramètre lambda (λ) et la valeur k, puis à implémenter la formule de probabilité de Poisson pour calculer la probabilité qu'exactement k événements se produisent dans un intervalle donné.
Ce laboratoire couvre le processus étape par étape d'écriture d'un programme C pour calculer les probabilités de Poisson, y compris la gestion des entrées utilisateur, l'implémentation de la formule de probabilité de Poisson et l'impression de la probabilité calculée.
Lecture de λ (lambda) et k
Dans cette étape, vous apprendrez à lire le paramètre lambda (λ) et la valeur k pour calculer les probabilités de Poisson en C. La distribution de Poisson est une distribution de probabilité qui exprime la probabilité qu'un nombre donné d'événements se produise dans un intervalle de temps ou d'espace fixe.
Tout d'abord, créons un nouveau fichier C pour implémenter notre calcul de probabilité de Poisson :
cd ~/project
nano poisson_prob.c
Maintenant, ajoutez le code suivant pour lire les valeurs de lambda et k :
#include <stdio.h>
#include <math.h>
int main() {
double lambda;
int k;
printf("Entrez lambda (nombre moyen d'événements) : ");
scanf("%lf", &lambda);
printf("Entrez k (nombre d'occurrences) : ");
scanf("%d", &k);
printf("Lambda (λ) : %.2f\n", lambda);
printf("k : %d\n", k);
return 0;
}
Exemple de sortie :
Entrez lambda (nombre moyen d'événements) : 3.5
Entrez k (nombre d'occurrences) : 2
Lambda (λ) : 3.50
k : 2
Décomposons le code :
- Nous utilisons
doublepour lambda afin d'autoriser les valeurs décimales. scanf()est utilisé pour lire les entrées utilisateur pour lambda et k.- Le spécificateur de format
%lfest utilisé pour les valeursdouble(long float). - Le spécificateur de format
%dest utilisé pour les valeurs entières. - Nous affichons les valeurs saisies pour confirmer l'entrée.
Compilons le programme :
gcc -o poisson_prob poisson_prob.c -lm
Exécutons le programme :
./poisson_prob
P(X=k)=e^(-λ)*λ^k/k!
Dans cette étape, vous implémenterez la formule de probabilité de Poisson pour calculer la probabilité qu'exactement k événements se produisent dans un intervalle donné.
Ouvrez le fichier précédent pour modifier le code :
cd ~/project
nano poisson_prob.c
Mettez à jour le code pour inclure le calcul de la probabilité de Poisson :
#include <stdio.h>
#include <math.h>
// Fonction pour calculer la factorielle
double factorial(int n) {
if (n <= 1) return 1;
double result = 1;
for (int i = 2; i <= n; i++) {
result *= i;
}
return result;
}
// Calculer la probabilité de Poisson
double poisson_probability(double lambda, int k) {
double numerator = pow(lambda, k) * exp(-lambda);
double denominator = factorial(k);
return numerator / denominator;
}
int main() {
double lambda;
int k;
printf("Entrez lambda (nombre moyen d'événements) : ");
scanf("%lf", &lambda);
printf("Entrez k (nombre d'occurrences) : ");
scanf("%d", &k);
double probability = poisson_probability(lambda, k);
printf("Lambda (λ) : %.2f\n", lambda);
printf("k : %d\n", k);
printf("Probabilité P(X = %d) : %.4f\n", k, probability);
return 0;
}
Compilez le programme :
gcc -o poisson_prob poisson_prob.c -lm
Exemple de sortie :
Entrez lambda (nombre moyen d'événements) : 3.5
Entrez k (nombre d'occurrences) : 2
Lambda (λ) : 3.50
k : 2
Probabilité P(X = 2) : 0.1674
Points clés du code :
- La fonction
factorial()calcule k! poisson_probability()implémente la formule de probabilité de Poissonpow()calcule λ^kexp()calcule e^(-λ)- Le résultat est la probabilité qu'exactement k événements se produisent.
Exécutez le programme :
./poisson_prob
Affichage de la probabilité
Dans cette dernière étape, vous améliorerez le programme de calcul de probabilité de Poisson en ajoutant un affichage plus détaillé des probabilités et une mise en forme améliorée.
Ouvrez le fichier précédent pour modifier le code :
cd ~/project
nano poisson_prob.c
Mettez à jour le code pour améliorer la présentation des probabilités :
#include <stdio.h>
#include <math.h>
// Fonction pour calculer la factorielle
double factorial(int n) {
if (n <= 1) return 1;
double result = 1;
for (int i = 2; i <= n; i++) {
result *= i;
}
return result;
}
// Calculer la probabilité de Poisson
double poisson_probability(double lambda, int k) {
double numerator = pow(lambda, k) * exp(-lambda);
double denominator = factorial(k);
return numerator / denominator;
}
int main() {
double lambda;
int k;
printf("Calculateur de probabilité de Poisson\n");
printf("-------------------------------------\n");
printf("Entrez lambda (nombre moyen d'événements) : ");
scanf("%lf", &lambda);
printf("Entrez k (nombre d'occurrences) : ");
scanf("%d", &k);
double probability = poisson_probability(lambda, k);
printf("\nRésultats du calcul :\n");
printf("Lambda (λ) : %.2f\n", lambda);
printf("k : %d\n", k);
printf("Probabilité P(X = %d) : %.4f\n", k, probability);
printf("Pourcentage : %.2f%%\n", probability * 100);
return 0;
}
Compilez le programme :
gcc -o poisson_prob poisson_prob.c -lm
Exemple de sortie :
Calculateur de probabilité de Poisson
-------------------------------------
Entrez lambda (nombre moyen d'événements) : 3.5
Entrez k (nombre d'occurrences) : 2
Résultats du calcul :
Lambda (λ) : 3.50
k : 2
Probabilité P(X = 2) : 0.1674
Pourcentage : 16.74%
Améliorations clés :
- Ajout d'un titre pour le calculateur
- Inclusion de la représentation en pourcentage
- Amélioration de la mise en forme de la sortie
- Sections de sortie plus descriptives
Exécutez le programme :
./poisson_prob
Résumé
Dans ce laboratoire, vous avez appris à lire le paramètre lambda (λ) et la valeur k pour calculer les probabilités de Poisson en C. Vous avez ensuite implémenté la formule de probabilité de Poisson pour calculer la probabilité qu'exactement k événements se produisent dans un intervalle donné. La distribution de Poisson est une distribution de probabilité qui exprime la probabilité d'un nombre donné d'événements se produisant dans un intervalle de temps ou d'espace fixe. Vous avez également appris à créer une fonction factorielle pour prendre en charge le calcul de la probabilité de Poisson.
Les étapes clés abordées dans ce laboratoire incluent la lecture des valeurs d'entrée, le calcul de la probabilité de Poisson à l'aide de la formule P(X=k)=e^(-λ)*λ^k/k!, et l'impression de la probabilité résultante.



