Data Smoothing #3 ( Exponential ) C++

Mathematics Algorithm|2023. 2. 6. 15:34
반응형

데이타 평활화 기법중에 하나인 Exponential Smoothing 함수 구현 입니다.

fCoefficient 파라메터와 값은 0 < fCoefficient < 1 로 입력하셔야 하고 값이 작을수록 평활화의 강도가 세집니다. 

 

Exponential Smoothing
Exponential Smoothing

void Exponential_Smoothing(vector<float>& Data, const float fCoefficient)
{
	if(fCoefficient < 1) 
	{
		float temp ;
		auto startIt = begin(Data) + 1 ;

		for(auto it = startIt ; it != end(Data) ; ++it)
		{
			temp = (*it * fCoefficient) + ((1-fCoefficient) * *(it - 1)) ;
			*it = temp ;
		}
	}
}

 

반응형

댓글()