반응형
10개의 데이터의 평균, 편차, 표준편차, 불편분산을 구하는 방법에 대한 소스.
데이터를 추가하거나 삭제하여도, 데이터가 몇개인지 찾아내서 계산하므로 이용하기에 문제가 없음.
일본어로 계속 공부를 하니, 한국어로 자료 바꿀라니 어색하네...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #include <stdio.h> #include <math.h> int num,sta,var; int ave[]={15,22,31,44,75,26,47,18,49,70}; int main(int argc, const char * argv[]) { int i,plus,result_ave,result_var; num = sizeof(ave)/sizeof(int); int dev[num]; for(i=0;i<num;i++){ plus += ave[i]; } result_ave = plus / num; printf("데이터수는%d、합계는%d、평균은%d입니다.\n",num,plus,result_ave); // - - - - - - - - - - - - - - - - - - - - for(i=0;i<num;i++){ dev[i] =ave[i] - result_ave; } printf("각 데이터의 편차는{"); for(i=0;i<num;i++){ printf("%d ",dev[i]); } printf("} 입니다.。\n"); // - - - - - - - - - - - - - - - - - - - - for(i=0;i<num;i++){ sta += (ave[i] - result_ave)*(ave[i] - result_ave); } result_var = sqrt(sta / num); printf("표준편차는%d입니다.\n",result_var); // - - - - - - - - - - - - - - - - - - - - for(i=0;i<num;i++){ var+= (ave[i] - result_ave)*(ave[i] - result_ave); } result_var = var / (num-1); printf("불편분산은%d입니다.\n",result_var); return 0; } |
반응형