[C++] 평균, 표준편차 구하기Language/C++2022. 9. 23. 22:22
Table of Contents
반응형
평균 및 표준편차 계산 함수
#include <vector>
// 평균 계산 함수
template<class T>
double Mean(std::vector<T> array)
{
double sum = 0.0;
for (int i = 0; i < array.size(); i++)
sum += array[i];
return sum / array.size();
}
// 표준 편차 계산 함수
template<class T>
double StandardDeviation(std::vector<T> array)
{
double meanValue = Mean<T>(array);
// 배열 요소가 1개밖에 없을 때는
// NaN(숫자가 아님)이라는 의미로
// sqrt(-1.0) 을 반환
int size = array.size();
if (size < 2)
{
return sqrt(-1.0);
}
double sum = 0.0;
for (int i = 0; i < size; i++) {
double diff = array[i] - meanValue;
sum += diff * diff;
}
return sqrt(sum / (size - 1));
}
테스트
int main()
{
std::vector<int> array;
array.push_back(5);
array.push_back(2);
array.push_back(7);
array.push_back(8);
array.push_back(4);
array.push_back(1);
array.push_back(10);
array.push_back(9);
double meanValue = Mean<int>(array);
double stddevValue = StandardDeviation<int>(array);
std::cout << "meanValue : " << meanValue << std::endl;
std::cout << "stddevValue : " << stddevValue << std::endl;
}
결과
meanValue : 5.75
stddevValue : 3.28416
반응형
'Language > C++' 카테고리의 다른 글
[C++] Is the Point Inside the Polygon? (0) | 2022.09.23 |
---|---|
[C++] DLL 동적 로딩 (0) | 2022.09.14 |
[C++] string을 이용한 File Path 분리 방법 (0) | 2022.09.05 |
@고지니어스 :: 규니의 개발 블로그
IT 기술과 개발 내용을 포스팅하는 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!