计算标准差的C程序
标准偏差用于衡量数据与其平均值的偏差。计算标准偏差的数学公式如下-
$$s=\sqrt{方差}$$
在哪里
方差$$=\frac{1}{n}\:\:\displaystyle\sum\limits_{i=1}^n(x_{i}-m)^{2}$$
和
$$m=mean=\frac{1}{n}\:\displaystyle\sum\limits_{i=1}^nx_{i}$$
算法
请参考下面给出的算法来计算给定数字的标准偏差。
步骤1-阅读n项。
步骤2-计算项目的总和和平均值。
步骤3-计算方差。
步骤4-计算标准偏差。
程序中用于计算标准偏差的逻辑如下-
for (i = 1 ; i<= n; i++){ deviation = value[i] - mean; sumsqr += deviation * deviation; } variance = sumsqr/(float)n ; stddeviation = sqrt(variance) ;
示例
以下是计算给定数字的标准偏差的C程序-
#include输出结果#define MAXSIZE 100 main( ) { int i,n; float value [MAXSIZE], deviation, sum,sumsqr,mean,variance,stddeviation; sum = sumsqr = n = 0 ; printf("Input values: input -1 to end \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("\nNumber of items : %d\n",n); printf("Mean : %f\n", mean); printf("Standard deviation : %f\n", stddeviation); }
执行上述程序时,它会产生以下输出-
Input values: input -1 to end 2 4 6 8 12 4.5 6.7 0.3 2.4 -1 Number of items: 9 Mean: 5.100000 Standard deviation: 3.348300