标准差是衡量数据中数字分布程度的度量。它是方差的平方根,其中方差是与均值平方差的平均值。
计算标准偏差的程序如下。
#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<<"The data values are: "; for(i = 0; i < 5; ++i) cout<< val[i] <<" "; cout<<endl; cout<<"The standard deviation of these data values is "<<stdDeviation; }
输出结果
The data values are: 12.5 7 10 7.8 15.5 The standard deviation of these data values is 3.1232
在上面的程序中,首先获得数据值的总和。然后通过将总和除以元素数来找到平均值。在下面的代码片段中给出了这一点。
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<<"The data values are: "; for(i = 0; i < 5; ++i) cout<< val[i] <<" "; cout<<endl; cout<<"The standard deviation of these data values is "<<stdDeviation;