간단한 팁입니다. 물론 팁도 안될 수도 있는 아주 쉬운 문제입니다.
수학을 너무 안했더니 바로 생각이 안나다군요.
작성일: 2009.10.09 (http://ospace.tistory.com/), ospace114@empal.com
Q: 현재까지 측정한 값의 평균이 있습니다. 그리고 총 몇개인지도 알고 있습니다. 물론 그때까지 측정한 값들은 저장되어 있지 않습니다. 그리고 새로운 값이 있을 때, 이 값을 포함한 평균은 얼마일까요?
생각보다 문제가 쉽다구요? 제가 어려워서 정리해보았습니다. ㅡ.ㅡ;
위의 상황에서 필요한 전제 조건이 있습니다. 평균을 계산하기 위해 측정된 값들의 개수가 필요합니다. 이정도 까지면 "아!"라고 하신 분도 계실 겁니다.
그럼 간단하게 계산해 볼까요. 일단 수식전에 간단한 인자부터 정의해보죠.
- n: 현재까지 측정된 값의 개수
- AVG: 평균값
- V(n): n번째 측정 값
그럼 우리가 구하고자하는 값은 AVG(n)으로 n번째 값까지 평균입니다. 우리가 알고 있는 평균값은 AVG(n-1)로 n-1번째 까지 평균입니다. 그럼 AVG(n)은 다음과 같습니다.
$$ AVG(n) = ( AVG(n-1) * (n-1) + V(n)) / n $$
생각보다 계산이 쉽죠. 이를 컴퓨터 c언어로 표기하면 다음과 같습니다.
int avg = 0; // average of all value
int count = 0; // count of values
int val = 0; // value
// val 값을 추출
avg = ( avg * (count - 1) + val ) / count; // 평균 계산
이상입니다. 참~ 쉽죠~~잉! ^^;ospace.
반응형
'4.개발 및 운영 환경' 카테고리의 다른 글
Syntaxhightlighter 2.x 사용하기 (0) | 2009.11.13 |
---|---|
SVN for Visual Studio (0) | 2009.11.03 |
시간 연산하기 (0) | 2009.10.09 |
Regular Expression Tip & Tech (0) | 2009.09.28 |
[NSIS] 다국어 라이센스 표시 (0) | 2009.09.28 |