//歸一化函數 x 輸入向量 ymin 輸出最小值 ymax 輸出最大值
VectorXd mapminmax(VectorXd x, Type ymin =-1, Type ymax=1)
{
VectorXd y(x.size()) ;
if ((x.maxCoeff() <= ymax) && (x.minCoeff() >= ymin))
{
y = x;
}
else {
y=(ymin + (ymax - ymin)*(x.array() - x.minCoeff()) / (x.maxCoeff() - x.minCoeff()));
}
return y;
}
有點應該注意,當輸入數據的大小值在ymin ymax範圍內,不用再歸一化,直接輸出。