id はそうだと思います。あなたの例では、
from_min = -10,
from_max = 10,
to_max = 1,
to_min = 0.
これにより、
to_max - to_min = 1,
from_max - from_min = 20;
したがって、式を使用して
x -> (x - from_min) * (to_max - to_min) / (from_max - from_min) + to_min
= (x - from_min) * 1 / 20 + 0
= (x - from_min) / 20
収量
-10 -> (-10 + 10) / 20 = 0 / 20,
-9 -> (-9 + 10) / 20 = 1 / 20,
1 -> (1 + 10) / 20 = 11 / 20,
4 -> (4 + 10) / 20 = 14 / 20,
10 -> (10 + 10) / 20 = 20 / 20,
したがって、結果の値はすべて負ではありません。さらに、元の最小 -10 は to_min = 0 にマップされ、元の最大 10 は to_max = 1 にマップされます。実装でこれが機能しない場合は、整数型と浮動小数点型を混同していないかどうかを確認してください。