归一化
把数变为(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);
}
}