Standardabweichung in C berechnen

CCBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab erfahren Sie, wie Sie in der Programmiersprache C die Standardabweichung eines Datensatzes berechnen. Das Lab umfasst drei Hauptschritte: die Berechnung des Mittelwerts des Datensatzes, die Summierung der quadrierten Abweichungen vom Mittelwert zur Berechnung der Varianz und schließlich die Berechnung der Quadratwurzel, um die Standardabweichung zu erhalten. Am Ende dieses Labs werden Sie diese grundlegenden statistischen Konzepte gut verstehen und wissen, wie Sie sie in C implementieren können.

Das Lab enthält schrittweise Anweisungen und Beispielcode, um Sie durch den Prozess zu führen. Sie beginnen damit, ein C-Programm zu schreiben, das den Mittelwert eines gegebenen Datensatzes berechnet. Anschließend erweitern Sie das Programm, um die Varianz zu berechnen, indem Sie die quadrierten Abweichungen vom Mittelwert summieren. Schließlich berechnen Sie die Quadratwurzel der Varianz, um die Standardabweichung zu bestimmen, und geben das Ergebnis aus.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/PointersandMemoryGroup(["Pointers and Memory"]) c(("C")) -.-> c/FunctionsGroup(["Functions"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/CompoundTypesGroup(["Compound Types"]) c/BasicsGroup -.-> c/variables("Variables") c/CompoundTypesGroup -.-> c/arrays("Arrays") c/PointersandMemoryGroup -.-> c/memory_address("Memory Address") c/FunctionsGroup -.-> c/math_functions("Math Functions") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-435137{{"Standardabweichung in C berechnen"}} c/arrays -.-> lab-435137{{"Standardabweichung in C berechnen"}} c/memory_address -.-> lab-435137{{"Standardabweichung in C berechnen"}} c/math_functions -.-> lab-435137{{"Standardabweichung in C berechnen"}} c/output -.-> lab-435137{{"Standardabweichung in C berechnen"}} end

Berechnung des Mittelwerts eines Datensatzes

In diesem Schritt erfahren Sie, wie Sie in der Programmiersprache C den Mittelwert eines Datensatzes berechnen. Der Mittelwert ist ein grundlegender statistischer Maßstab, der den Durchschnittswert einer Zahlenmenge darstellt.

Zunächst erstellen wir ein C-Programm zur Berechnung des Mittelwerts eines Datensatzes. Öffnen Sie eine neue Datei mit nano:

cd ~/project
nano mean_calculation.c

Geben Sie nun den folgenden Code ein:

#include <stdio.h>

#define MAX_SIZE 100

float calculateMean(int arr[], int size) {
    float sum = 0;
    for (int i = 0; i < size; i++) {
        sum += arr[i];
    }
    return sum / size;
}

int main() {
    int dataset[MAX_SIZE];
    int size;

    printf("Enter the number of elements (max %d): ", MAX_SIZE);
    scanf("%d", &size);

    printf("Enter %d integers:\n", size);
    for (int i = 0; i < size; i++) {
        scanf("%d", &dataset[i]);
    }

    float mean = calculateMean(dataset, size);
    printf("Mean of the dataset: %.2f\n", mean);

    return 0;
}

Kompilieren Sie das Programm:

gcc mean_calculation.c -o mean_calculation

Führen Sie das Programm aus und geben Sie einige Beispieldaten ein:

./mean_calculation

Beispielausgabe:

Enter the number of elements (max 100): 5
Enter 5 integers:
10
20
30
40
50
Mean of the dataset: 30.00

Lassen Sie uns den Code analysieren:

  1. Wir definieren eine Funktion calculateMean, die ein Array und seine Größe als Parameter nimmt.
  2. Die Funktion berechnet die Summe aller Elemente im Array.
  3. Der Mittelwert wird berechnet, indem die Summe durch die Gesamtzahl der Elemente geteilt wird.
  4. In der Funktion main fordern wir den Benutzer auf, den Datensatz einzugeben.
  5. Wir rufen calculateMean auf und geben das Ergebnis mit zwei Dezimalstellen aus.

Summieren der quadrierten Abweichungen und Berechnung der Varianz

In diesem Schritt erweitern Sie das vorherige Programm, um die Varianz zu berechnen, indem Sie die quadrierten Abweichungen vom Mittelwert summieren. Die Varianz misst, wie weit die Zahlen in einem Datensatz voneinander entfernt sind.

Öffnen Sie die vorherige Datei zum Bearbeiten:

cd ~/project
nano mean_calculation.c

Aktualisieren Sie das Programm um die Varianzberechnung:

#include <stdio.h>
#include <math.h>

#define MAX_SIZE 100

float calculateMean(int arr[], int size) {
    float sum = 0;
    for (int i = 0; i < size; i++) {
        sum += arr[i];
    }
    return sum / size;
}

float calculateVariance(int arr[], int size, float mean) {
    float sumSquaredDeviations = 0;
    for (int i = 0; i < size; i++) {
        float deviation = arr[i] - mean;
        sumSquaredDeviations += deviation * deviation;
    }
    return sumSquaredDeviations / size;
}

int main() {
    int dataset[MAX_SIZE];
    int size;

    printf("Enter the number of elements (max %d): ", MAX_SIZE);
    scanf("%d", &size);

    printf("Enter %d integers:\n", size);
    for (int i = 0; i < size; i++) {
        scanf("%d", &dataset[i]);
    }

    float mean = calculateMean(dataset, size);
    float variance = calculateVariance(dataset, size, mean);

    printf("Mean of the dataset: %.2f\n", mean);
    printf("Variance of the dataset: %.2f\n", variance);

    return 0;
}

Kompilieren Sie das aktualisierte Programm:

gcc mean_calculation.c -o mean_calculation -lm

Führen Sie das Programm aus und geben Sie Beispieldaten ein:

./mean_calculation

Beispielausgabe:

Enter the number of elements (max 100): 5
Enter 5 integers:
10
20
30
40
50
Mean of the dataset: 30.00
Variance of the dataset: 200.00

Wichtige Punkte im Code:

  1. Wir haben eine neue Funktion calculateVariance hinzugefügt, die das Array, die Größe und den Mittelwert als Parameter nimmt.
  2. Die Funktion berechnet die Abweichung jedes Elements vom Mittelwert.
  3. Sie quadriert diese Abweichungen und summiert sie auf.
  4. Die Varianz wird berechnet, indem die Summe der quadrierten Abweichungen durch die Anzahl der Elemente geteilt wird.
  5. Wir verwenden die Option -lm beim Kompilieren, um die Mathematikbibliothek (math library) einzubinden.

Wurzelziehen zur Berechnung der Standardabweichung und Ausgabe

In diesem letzten Schritt vervollständigen Sie die Berechnung der Standardabweichung, indem Sie die Quadratwurzel der Varianz ziehen. Die Standardabweichung ist ein wichtiges Maß für die Streuung der Daten in der statistischen Analyse.

Öffnen Sie die vorherige Datei zum Bearbeiten:

cd ~/project
nano mean_calculation.c

Aktualisieren Sie das Programm um die Standardabweichungsberechnung:

#include <stdio.h>
#include <math.h>

#define MAX_SIZE 100

float calculateMean(int arr[], int size) {
    float sum = 0;
    for (int i = 0; i < size; i++) {
        sum += arr[i];
    }
    return sum / size;
}

float calculateVariance(int arr[], int size, float mean) {
    float sumSquaredDeviations = 0;
    for (int i = 0; i < size; i++) {
        float deviation = arr[i] - mean;
        sumSquaredDeviations += deviation * deviation;
    }
    return sumSquaredDeviations / size;
}

float calculateStandardDeviation(float variance) {
    return sqrt(variance);
}

int main() {
    int dataset[MAX_SIZE];
    int size;

    printf("Enter the number of elements (max %d): ", MAX_SIZE);
    scanf("%d", &size);

    printf("Enter %d integers:\n", size);
    for (int i = 0; i < size; i++) {
        scanf("%d", &dataset[i]);
    }

    float mean = calculateMean(dataset, size);
    float variance = calculateVariance(dataset, size, mean);
    float standardDeviation = calculateStandardDeviation(variance);

    printf("Dataset Statistics:\n");
    printf("Mean: %.2f\n", mean);
    printf("Variance: %.2f\n", variance);
    printf("Standard Deviation: %.2f\n", standardDeviation);

    return 0;
}

Kompilieren Sie das aktualisierte Programm:

gcc mean_calculation.c -o mean_calculation -lm

Führen Sie das Programm aus und geben Sie Beispieldaten ein:

./mean_calculation

Beispielausgabe:

Enter the number of elements (max 100): 5
Enter 5 integers:
10
20
30
40
50
Dataset Statistics:
Mean: 30.00
Variance: 200.00
Standard Deviation: 14.14

Wichtige Punkte im Code:

  1. Wir haben eine neue Funktion calculateStandardDeviation hinzugefügt.
  2. Diese Funktion verwendet die Funktion sqrt() aus der Mathematikbibliothek (math library), um die Standardabweichung zu berechnen.
  3. Die Standardabweichung ist die Quadratwurzel der Varianz.
  4. Die Hauptfunktion gibt nun alle drei statistischen Maße aus.
  5. Wir verwenden weiterhin die Option -lm, um die Mathematikbibliothek einzubinden.

Zusammenfassung

In diesem Lab haben Sie zunächst gelernt, wie Sie in der Programmiersprache C den Mittelwert eines Datensatzes berechnen. Der Mittelwert ist ein grundlegender statistischer Maßstab, der den Durchschnittswert einer Zahlenmenge darstellt. Anschließend haben Sie das Programm erweitert, um die Varianz zu berechnen, indem Sie die quadrierten Abweichungen vom Mittelwert summierten. Die Varianz misst, wie weit die Zahlen in einem Datensatz voneinander entfernt sind. Schließlich haben Sie gelernt, wie Sie die Quadratwurzel der Varianz ziehen, um die Standardabweichung zu berechnen und das Ergebnis auszugeben.