Độ lệch chuẩn (standard deviation) đo lường mức độ phân tán của các số trong dữ liệu. Là căn bậc hai của phương sai, trong đó phương sai là trung bình của các bình phương độ lệch so với giá trị trung bình.
Chương trình tính độ lệch chuẩn:
Ví dụ
#include <iostream>
#include <cmath>
using namespace std;
int main() {
float val[5] = {12.5, 7.0, 10.0, 7.8, 15.5};
float sum = 0.0, mean, variance = 0.0, stdDeviation;
int i;
for (i = 0; i < 5; ++i)
sum += val[i];
mean = sum / 5;
for (i = 0; i < 5; ++i)
variance += pow(val[i] - mean, 2);
variance = variance / 5;
stdDeviation = sqrt(variance);
cout << "Các giá trị dữ liệu: ";
for (i = 0; i < 5; ++i)
cout << val[i] << " ";
cout << endl;
cout << "Độ lệch chuẩn của các giá trị này là " << stdDeviation;
}
Kết quả đầu ra
Các giá trị dữ liệu: 12.5 7 10 7.8 15.5 Độ lệch chuẩn của các giá trị này là 3.1232
Trong chương trình, trước tiên tính tổng các giá trị dữ liệu. Sau đó tìm trung bình bằng cách chia tổng cho số phần tử:
for (i = 0; i < 5; ++i) sum += val[i]; mean = sum / 5;
Phương sai được tìm bằng cách bình phương độ lệch từ trung bình, cộng chúng lại và lấy trung bình:
for (i = 0; i < 5; ++i) variance += pow(val[i] - mean, 2); variance = variance / 5;
Độ lệch chuẩn là căn bậc hai của phương sai. Sau đó hiển thị tất cả giá trị và độ lệch chuẩn:
stdDeviation = sqrt(variance); cout << "Các giá trị dữ liệu: "; for (i = 0; i < 5; ++i) cout << val[i] << " "; cout << endl; cout << "Độ lệch chuẩn của các giá trị này là " << stdDeviation;