C/C++ 標準差 計算
C/C++ 標準差 計算(計算一維數組標準差)
資料來源: https://blog.csdn.net/zfjBIT/article/details/90080233
看公式,可以推斷出計算標準差分為幾步:
01.計算平均值u=(x1+x2+…+xn)/n
02.計算方差s²=((x1-u)^2 +(x2-u)^2 +…+(xn-u)^2)/n
03.計算標準差σ=sqrt(s²)
Code
double average(double *x, int len) { double sum = 0; for (int i = 0; i < len; i++) // 求和 sum += x[i]; return sum / len; // 得到平均值 } double variance(double *x, int len) { double sum = 0; double avg = average(x, len); for (int i = 0; i < len; i++) // 求和 sum += pow(x[i] - avg, 2); return sum / len; // 得到方差 } double standardDev(double *x, int len) { double var = variance(x, len); return sqrt(var); // 得到标准差 }