Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Chương trình C tính độ lệch chuẩn


Độ lệch chuẩn đo lường độ lệch dữ liệu so với trung bình. Công thức toán học:

$$s = \sqrt{Variance}$$

trong đó

Variance $$= \frac{1}{n} \sum_{i=1}^n (x_i - m)^2$$

và

$$m = mean = \frac{1}{n} \sum_{i=1}^n x_i$$


Thuật toán

Thuật toán tính độ lệch chuẩn:

Bước 1 - Đọc n mục.

Bước 2 - Tính tổng và trung bình.

Bước 3 - Tính phương sai.

Bước 4 - Tính độ lệch chuẩn.

Logic trong chương trình:

for(i = 1; i <= n; i++){ 
    deviation = value[i] - mean; 
    sumsqr += deviation * deviation; 
} 
variance = sumsqr / (float)n; 
stddeviation = sqrt(variance);

Ví dụ

Chương trình C tính độ lệch chuẩn:

#include <math.h> 
#define MAXSIZE 100 
main(){ 
    int i, n; 
    float value[MAXSIZE], deviation, sum, sumsqr, mean, variance, stddeviation; 
    sum = sumsqr = n = 0; 
    printf("Nhap gia tri: nhap -1 de ket thuc\n"); 
    for(i = 1; i < MAXSIZE; i++){ 
        scanf("%f", &value[i]); 
        if(value[i] == -1) break; 
        sum += value[i]; 
        n += 1; 
    } 
    mean = sum / (float)n; 
    for(i = 1; i <= n; i++){ 
        deviation = value[i] - mean; 
        sumsqr += deviation * deviation; 
    } 
    variance = sumsqr / (float)n; 
    stddeviation = sqrt(variance); 
    printf("\nSo luong: %d\n", n); 
    printf("Trung binh: %f\n", mean); 
    printf("Do lech chuan: %f\n", stddeviation); 
}

Đầu ra

Kết quả chạy chương trình:

Nhap gia tri: nhap -1 de ket thuc 
2 4 6 8 12 4.5 6.7 0.3 2.4 -1 
So luong: 9 
Trung binh: 5.100000 
Do lech chuan: 3.348300