컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post Java/자바] 표준 편차 구하기/계산 메서드; Standard Deviation Meth...C언어] 파일 복사 함수, 화일 카피 소스; File Copy Function Source...Excel/엑셀] 표준편차 구하기 함수 (표본, 모집단 전체); Standard Devia...Perl/펄] MS가 개발한 Win32용 펄 스크립트 다운로드; Microsoft Scri...C언어 에러 해결] unresolved external symbol _main refere...KChess Elite] 체스 오프닝 사전; Encyclopedia of Chess Ope...자바스크립트] 원주율(파이 값; PI)상수, 자연 로그의 밑 e 상수; JavaScript...자바스크립트] log2 (밑이 2인 로그 함수), log (ln), log10(상용 로그)...자바스크립트 수학 함수] 상용 로그 log10 함수; JavaScript Math Func...Perl/펄] 독일어 숫자 읽기, 아라비아 숫자를 독어로 세기; Arabic Number ...

C언어] 표준 편차 구하기/계산 함수 소스; Standard Deviation Function

Monday, February 26, 2007

C에서 실수 배열의 표준편차를 구하려면 다음 예제의 함수를 사용하면 됩니다.

standardDeviation(실수_배열명, 배열_요소_개수, 옵션)

의 형식이며, 표준편차를 double형 실수로 반환합니다.


옵션을 1로 지정하면, 엑셀의 STDEV() 함수에 해당하는 "표본의 표준 편차"를 구할 수 있고

0으로 지정하면, 엑셀의 STDEVP() 함수에 해당하는 "모집단 전체의 표준 편차"를 구할 수 있습니다.

실수 배열 표준편차 계산 예제


소스 파일명: example.cpp
#include <stdio.h>
#include <math.h> // sqrt()

double mean(double* array, int size);
double standardDeviation(double* array, int size, int option);


int main(void) {

  double foo[] = { 1345, 1301, 1368, 1322, 1310, 1370, 1318, 1350, 1303, 1299 };

  // 평균 구하기
  printf("%f\n", mean(foo, sizeof(foo) / sizeof(foo[0])));
  // 출력 결과: 1328.600000


  // 표본의 표준편차 구하기 (STDEV)
  printf("%f\n", standardDeviation(foo, sizeof(foo) / sizeof(foo[0]), 1));
  // 출력 결과: 27.463916


  // 모집단 전체의 표준편차 구하기 (STDEVP)
  printf("%f\n", standardDeviation(foo, sizeof(foo) / sizeof(foo[0]), 0));
  // 출력 결과: 26.054558


  return 0;
}




// 산술 평균 구하기
double mean(double* array, int size) {
  double sum = 0.0;

  for (int i = 0; i < size; i++)
    sum += array[i];

  return sum / size;
}


// 표준 편차 계산 함수
double standardDeviation(double* array, int size, int option) {
  // 배열 요소가 1개밖에 없을 때는
  // NaN(숫자가 아님)이라는 의미로
  // -1.#IND00 을 반환
  if (size < 2) return sqrt(-1.0);

  double sum = 0.0;
  double sd = 0.0;
  double diff;
  double meanValue = mean(array, size);

  for (int i = 0; i < size; i++) {
    diff = array[i] - meanValue;
    sum += diff * diff;
  }
  sd = sqrt(sum / (size - option));

  return sd;
}



▶▶ C언어] 배열 합계, 산술 평균 구하기; Array Sum, Average (Mean)

표준편차 계산기: ▶▶ 평균 계산기, 합계 구하기, 표준편차 계산기, 중앙값; Sum Average Stdev Median Calc

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top