計算標準差的 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP