Die Varianz in C berechnen

CBeginner
Jetzt üben

Einführung

In diesem Lab werden Sie lernen, wie man die Varianz einer Zahlenmenge in C berechnet. Das Lab umfasst drei Hauptschritte: die Berechnung des Mittelwerts, die Berechnung der Summe der quadrierten Abweichungen vom Mittelwert und die Division der Summe durch die Anzahl der Zahlen, um die Varianz zu erhalten. Das Lab bietet detaillierte Codebeispiele und Erklärungen, um Sie durch den Prozess der Implementierung dieser statistischen Berechnungen in C zu führen.

Das Lab beginnt damit, zu zeigen, wie man den Mittelwert einer Zahlenmenge berechnet, was ein entscheidender Schritt bei der Varianzberechnung ist. Anschließend wird gezeigt, wie man die Summe der quadrierten Abweichungen vom Mittelwert berechnet und schließlich, wie man die Summe durch die Anzahl der Zahlen teilt, um die Varianz zu erhalten. Indem Sie den schrittweisen Anweisungen folgen, werden Sie ein solides Verständnis dafür erlangen, wie man diese statistischen Operationen mit der Programmiersprache C ausführt.

Mittelwert berechnen

In diesem Schritt werden Sie lernen, wie man den Mittelwert einer Zahlenmenge in C berechnet. Der Mittelwert wird berechnet, indem alle Werte summiert und durch die Gesamtanzahl der Zahlen dividiert werden.

Zunächst erstellen Sie eine neue C-Datei, um die Mittelwertberechnung zu implementieren:

cd ~/project
nano mean.c

Schreiben Sie nun den folgenden C-Code, um den Mittelwert zu berechnen:

#include <stdio.h>

int main() {
    int numbers[] = {10, 20, 30, 40, 50};
    int count = sizeof(numbers) / sizeof(numbers[0]);
    int sum = 0;

    // Calculate sum of all numbers
    for (int i = 0; i < count; i++) {
        sum += numbers[i];
    }

    // Calculate mean
    float mean = (float)sum / count;

    printf("Numbers: ");
    for (int i = 0; i < count; i++) {
        printf("%d ", numbers[i]);
    }
    printf("\nCount: %d\n", count);
    printf("Sum: %d\n", sum);
    printf("Mean: %.2f\n", mean);

    return 0;
}

Kompilieren und führen Sie das Programm aus:

gcc mean.c -o mean
./mean

Beispielausgabe:

Numbers: 10 20 30 40 50
Count: 5
Sum: 150
Mean: 30.00

Lassen Sie uns den Code analysieren:

  • Wir definieren ein Array von Ganzzahlen numbers
  • Berechnen die Anzahl der Zahlen mit sizeof()
  • Verwenden eine for-Schleife, um die Summe aller Zahlen zu berechnen
  • Berechnen den Mittelwert, indem wir die Summe durch die Anzahl dividieren
  • Geben die Zahlen, die Anzahl, die Summe und den Mittelwert aus

Summe (x - Mittelwert)² und Division durch die Anzahl

In diesem Schritt werden Sie lernen, wie man die Varianz berechnet, indem man die Summe der quadrierten Abweichungen vom Mittelwert berechnet und durch die Anzahl der Zahlen dividiert.

Zunächst ändern Sie die vorherige mean.c-Datei, um die Varianzberechnung einzubeziehen:

cd ~/project
nano variance.c

Schreiben Sie den folgenden C-Code, um die Varianz zu berechnen:

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

int main() {
    int numbers[] = {10, 20, 30, 40, 50};
    int count = sizeof(numbers) / sizeof(numbers[0]);
    int sum = 0;
    float mean, variance = 0.0;

    // Calculate sum and mean
    for (int i = 0; i < count; i++) {
        sum += numbers[i];
    }
    mean = (float)sum / count;

    // Calculate sum of squared deviations
    for (int i = 0; i < count; i++) {
        variance += pow(numbers[i] - mean, 2);
    }

    // Divide by count to get variance
    variance /= count;

    printf("Numbers: ");
    for (int i = 0; i < count; i++) {
        printf("%d ", numbers[i]);
    }
    printf("\nMean: %.2f\n", mean);
    printf("Variance: %.2f\n", variance);

    return 0;
}

Kompilieren und führen Sie das Programm mit der Mathematikbibliothek aus:

gcc variance.c -o variance -lm
./variance

Beispielausgabe:

Numbers: 10 20 30 40 50
Mean: 30.00
Variance: 200.00

Wichtige Schritte bei der Varianzberechnung:

  • Berechnen Sie den Mittelwert (aus dem vorherigen Schritt)
  • Subtrahieren Sie den Mittelwert von jeder Zahl
  • Quadrieren Sie die Differenzen
  • Summieren Sie die quadrierten Differenzen
  • Dividieren Sie durch die Anzahl der Zahlen

Ausgabe der Varianz

In diesem Schritt werden Sie lernen, wie man die Varianzberechnung mit verschiedenen Genauigkeitsstufen formatiert und ausgibt, sowie wie man eine Funktion erstellt, um den Code modularer zu gestalten.

Ändern Sie die vorherige variance.c-Datei, um die Ausgabe der Varianz zu verbessern:

cd ~/project
nano variance_print.c

Schreiben Sie den folgenden C-Code, um die Ausgabe der Varianz zu verbessern:

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

// Function to calculate variance
float calculate_variance(int numbers[], int count) {
    int sum = 0;
    float mean, variance = 0.0;

    // Calculate sum and mean
    for (int i = 0; i < count; i++) {
        sum += numbers[i];
    }
    mean = (float)sum / count;

    // Calculate sum of squared deviations
    for (int i = 0; i < count; i++) {
        variance += pow(numbers[i] - mean, 2);
    }

    // Divide by count to get variance
    variance /= count;

    return variance;
}

// Function to print variance with different formats
void print_variance(float variance) {
    printf("Variance Representations:\n");
    printf("1. Standard Format:   %.2f\n", variance);
    printf("2. Scientific Notation: %e\n", variance);
    printf("3. Precise Format:    %.4f\n", variance);
}

int main() {
    int numbers[] = {10, 20, 30, 40, 50};
    int count = sizeof(numbers) / sizeof(numbers[0]);

    // Calculate and print variance
    float variance = calculate_variance(numbers, count);

    printf("Original Numbers: ");
    for (int i = 0; i < count; i++) {
        printf("%d ", numbers[i]);
    }
    printf("\n\n");

    print_variance(variance);

    return 0;
}

Kompilieren und führen Sie das Programm aus:

gcc variance_print.c -o variance_print -lm
./variance_print

Beispielausgabe:

Original Numbers: 10 20 30 40 50

Variance Representations:
1. Standard Format:   200.00
2. Scientific Notation: 2.000000e+02
3. Precise Format:    200.0000

Wichtige Verbesserungen:

  • Es wurden separate Funktionen für die Varianzberechnung erstellt
  • Es wurden mehrere Ausgabeformate für die Varianz hinzugefügt
  • Es wurden verschiedene Darstellungsarten für die Varianz gezeigt

Zusammenfassung

In diesem Lab haben Sie gelernt, wie man in C den Mittelwert einer Zahlenmenge berechnet, indem man alle Werte summiert und durch die Gesamtanzahl dividiert. Anschließend haben Sie gelernt, wie man die Varianz berechnet, indem man die Summe der quadrierten Abweichungen vom Mittelwert berechnet und durch die Anzahl der Zahlen dividiert. Dies ermöglicht es Ihnen, die Streuung der Daten um den Mittelwert zu messen, was ein nützliches Maß für die statistische Analyse ist.