計算標準差的 C 程式


標準差用來衡量資料與其平均值的偏差。以下是計算標準差的數學公式:

$$s=\sqrt{方差}$$

其中

方差$$=\frac{1}{n}\:\:\displaystyle\sum\limits_{i=1}^n (x_{i}-m)^{2}$$

$$m=平均值=\frac{1}{n}\:\displaystyle\sum\limits_{i=1}^n x_{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 <math.h>
#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 
");    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("
Number of items : %d
",n);    printf("Mean : %f
", mean);    printf("Standard deviation : %f
", 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

更新時間:2021 年 3 月 25 日

6K+ 次瀏覽

開啟你的職業生涯

完成課程並獲得認證

開始
廣告