c++

归一化

数据结构与算法

Posted by YiMiTuMi on July 3, 2025

归一化

把数变为(0,1)之间的小数。

void NormalizeToMinusQneToOne(const std::vector<double>& vecIn, vector<double> &vecOut)
{
	//先查找最大最小值
	double dMin = (double)DBL_MAX;
	double dMax = -(double)DBL_MAX;

	std::vector<double>::iterator iter = vecIn.begin();
	for (; iter != vecIn.end(); iter++)
	{	
		double dVal = *iter;
		if (val < dMin)
		{
			dMin = val;
		}

		if (val > dMax)
		{
			dMax = val;
		}
	}
	
	//进行归一化
	iter = vecIn.begin();
	for (; iter != vecIn.end(); iter++)
	{	
		double dVal = *iter;
		double scaled = (dVal - dMin) / (dMax - dMin);

		vecOut.push_back(scaled);
	}	
}