Einführung
In diesem Labor lernen Sie, wie man Poisson-Wahrscheinlichkeiten in C berechnet. Die Poisson-Verteilung ist eine Wahrscheinlichkeitsverteilung, die die Wahrscheinlichkeit angibt, dass eine bestimmte Anzahl von Ereignissen in einem festen Zeit- oder Raumintervall auftritt. Sie lernen zunächst, wie Sie den Lambda-Parameter (λ) und den k-Wert einlesen, und implementieren dann die Poisson-Wahrscheinlichkeitsformel, um die Wahrscheinlichkeit zu berechnen, dass genau k Ereignisse in einem gegebenen Intervall auftreten.
Das Labor behandelt den schrittweisen Prozess der Erstellung eines C-Programms zur Berechnung von Poisson-Wahrscheinlichkeiten, einschließlich der Handhabung der Benutzereingabe, der Implementierung der Poisson-Wahrscheinlichkeitsformel und der Ausgabe der berechneten Wahrscheinlichkeit.
λ (Lambda) und k einlesen
In diesem Schritt lernen Sie, wie Sie den Lambda-Parameter (λ) und den k-Wert zum Berechnen von Poisson-Wahrscheinlichkeiten in C einlesen. Die Poisson-Verteilung ist eine Wahrscheinlichkeitsverteilung, die die Wahrscheinlichkeit angibt, dass eine bestimmte Anzahl von Ereignissen in einem festen Zeit- oder Raumintervall auftritt.
Erstellen wir zunächst eine neue C-Datei zur Implementierung unserer Poisson-Wahrscheinlichkeitsberechnung:
cd ~/project
nano poisson_prob.c
Fügen Sie nun den folgenden Code hinzu, um die Lambda- und k-Werte einzulesen:
#include <stdio.h>
#include <math.h>
int main() {
double lambda;
int k;
printf("Geben Sie Lambda (durchschnittliche Anzahl von Ereignissen) ein: ");
scanf("%lf", &lambda);
printf("Geben Sie k (Anzahl der Vorkommnisse) ein: ");
scanf("%d", &k);
printf("Lambda (λ): %.2f\n", lambda);
printf("k: %d\n", k);
return 0;
}
Beispielausgabe:
Geben Sie Lambda (durchschnittliche Anzahl von Ereignissen) ein: 3.5
Geben Sie k (Anzahl der Vorkommnisse) ein: 2
Lambda (λ): 3.50
k: 2
Lassen Sie uns den Code aufschlüsseln:
- Wir verwenden
doublefür Lambda, um Dezimalwerte zu ermöglichen. scanf()wird verwendet, um die Benutzereingaben für Lambda und k zu lesen.- Der Formatbezeichner
%lfwird für double (long float) Werte verwendet. - Der Formatbezeichner
%dwird für Integer-Werte verwendet. - Wir geben die eingegebenen Werte aus, um die Eingabe zu bestätigen.
Kompilieren Sie das Programm:
gcc -o poisson_prob poisson_prob.c -lm
Führen Sie das Programm aus:
./poisson_prob
P(X=k)=e^(-λ)*λ^k/k!
In diesem Schritt implementieren Sie die Poisson-Wahrscheinlichkeitsformel, um die Wahrscheinlichkeit zu berechnen, dass genau k Ereignisse in einem gegebenen Intervall auftreten.
Öffnen Sie die vorherige Datei, um den Code zu ändern:
cd ~/project
nano poisson_prob.c
Aktualisieren Sie den Code, um die Berechnung der Poisson-Wahrscheinlichkeit einzuschließen:
#include <stdio.h>
#include <math.h>
// Funktion zur Berechnung der Fakultät
double factorial(int n) {
if (n <= 1) return 1;
double result = 1;
for (int i = 2; i <= n; i++) {
result *= i;
}
return result;
}
// Berechnung der Poisson-Wahrscheinlichkeit
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("Geben Sie Lambda (durchschnittliche Anzahl von Ereignissen) ein: ");
scanf("%lf", &lambda);
printf("Geben Sie k (Anzahl der Vorkommnisse) ein: ");
scanf("%d", &k);
double probability = poisson_probability(lambda, k);
printf("Lambda (λ): %.2f\n", lambda);
printf("k: %d\n", k);
printf("Wahrscheinlichkeit P(X = %d): %.4f\n", k, probability);
return 0;
}
Kompilieren Sie das Programm:
gcc -o poisson_prob poisson_prob.c -lm
Beispielausgabe:
Geben Sie Lambda (durchschnittliche Anzahl von Ereignissen) ein: 3.5
Geben Sie k (Anzahl der Vorkommnisse) ein: 2
Lambda (λ): 3.50
k: 2
Wahrscheinlichkeit P(X = 2): 0.1674
Wichtige Punkte im Code:
- Die Funktion
factorial()berechnet k! poisson_probability()implementiert die Poisson-Wahrscheinlichkeitsformelpow()berechnet λ^kexp()berechnet e^(-λ)- Das Ergebnis ist die Wahrscheinlichkeit, dass genau k Ereignisse auftreten.
Führen Sie das Programm aus:
./poisson_prob
Ausgabe der Wahrscheinlichkeit
In diesem letzten Schritt erweitern Sie das Programm zur Berechnung der Poisson-Wahrscheinlichkeit, indem Sie detailliertere Wahrscheinlichkeitsausgaben und Formatierungen hinzufügen.
Öffnen Sie die vorherige Datei, um den Code zu ändern:
cd ~/project
nano poisson_prob.c
Aktualisieren Sie den Code, um die Darstellung der Wahrscheinlichkeit zu verbessern:
#include <stdio.h>
#include <math.h>
// Funktion zur Berechnung der Fakultät
double factorial(int n) {
if (n <= 1) return 1;
double result = 1;
for (int i = 2; i <= n; i++) {
result *= i;
}
return result;
}
// Berechnung der Poisson-Wahrscheinlichkeit
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("Poisson-Wahrscheinlichkeitsrechner\n");
printf("---------------------------------\n");
printf("Geben Sie Lambda (durchschnittliche Anzahl von Ereignissen) ein: ");
scanf("%lf", &lambda);
printf("Geben Sie k (Anzahl der Vorkommnisse) ein: ");
scanf("%d", &k);
double probability = poisson_probability(lambda, k);
printf("\nBerechnungsergebnisse:\n");
printf("Lambda (λ): %.2f\n", lambda);
printf("k: %d\n", k);
printf("Wahrscheinlichkeit P(X = %d): %.4f\n", k, probability);
printf("Prozentwert: %.2f%%\n", probability * 100);
return 0;
}
Kompilieren Sie das Programm:
gcc -o poisson_prob poisson_prob.c -lm
Beispielausgabe:
Poisson-Wahrscheinlichkeitsrechner
---------------------------------
Geben Sie Lambda (durchschnittliche Anzahl von Ereignissen) ein: 3.5
Geben Sie k (Anzahl der Vorkommnisse) ein: 2
Berechnungsergebnisse:
Lambda (λ): 3.50
k: 2
Wahrscheinlichkeit P(X = 2): 0.1674
Prozentwert: 16.74%
Verbesserungen:
- Hinzufügen eines Titels für den Rechner
- Einschließen der Prozentdarstellung
- Verbesserte Ausgabeformatierung
- Detailliertere Ausgabeabschnitte
Führen Sie das Programm aus:
./poisson_prob
Zusammenfassung
In diesem Labor haben Sie gelernt, wie man den Lambda-Parameter (λ) und den k-Wert zum Berechnen von Poisson-Wahrscheinlichkeiten in C liest. Anschließend haben Sie die Poisson-Wahrscheinlichkeitsformel implementiert, um die Wahrscheinlichkeit zu berechnen, dass genau k Ereignisse in einem gegebenen Intervall auftreten. Die Poisson-Verteilung ist eine Wahrscheinlichkeitsverteilung, die die Wahrscheinlichkeit einer bestimmten Anzahl von Ereignissen in einem festen Zeit- oder Raumintervall ausdrückt. Sie haben auch gelernt, wie man eine Fakultätsfunktion erstellt, um die Berechnung der Poisson-Wahrscheinlichkeit zu unterstützen.
Die wichtigsten Schritte in diesem Labor umfassen das Lesen der Eingabewerte, die Berechnung der Poisson-Wahrscheinlichkeit mithilfe der Formel P(X=k)=e^(-λ)*λ^k/k! und die Ausgabe der resultierenden Wahrscheinlichkeit.



