且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

我如何正确地将非常大的数字算法盟友归一化为相对较小的数字范围?

更新时间:2022-05-05 22:45:53

下面的函数将执行线性归一化(感谢 SMcCrohan) 并且您可以将您需要的值传递给它.

The function below will perform linear normalization (thanks S McCrohan) and you can pass it the values you'll need.

https://jsfiddle.net/7cn57wnd/

function normalize(enteredValue, minEntry, maxEntry, normalizedMin, normalizedMax) {

    var mx = (enteredValue-minEntry)/(maxEntry-minEntry);
    var preshiftNormalized = mx*(normalizedMax-normalizedMin);
    var shiftedNormalized = preshiftNormalized + normalizedMin;

    return shiftedNormalized;

}

//Acceptable values: 0 - 10,000,000
//User enters: 99,000,000
//Normalization window: 200 - 3800

normalize(99000000, 0, 100000000, 200, 3800);

//Returns 3764