Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C คำนวณค่าเบี่ยงเบนมาตรฐาน


ส่วนเบี่ยงเบนมาตรฐานใช้เพื่อวัดค่าเบี่ยงเบนของข้อมูลจากค่าเฉลี่ย สูตรทางคณิตศาสตร์ในการคำนวณค่าเบี่ยงเบนมาตรฐานมีดังนี้ −

$$s=\sqrt{Variance}$$

ที่ไหน

ความแปรปรวน$$=\frac{1}{n}\:\:\displaystyle\sum\limits_{i=1}^n (x_{i}-m)^{2}$$

และ

$$m=mean=\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 \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