如果我有一个带有正值和负值的double的LinkedList,例如:
[-1000, 34, 0, -700, 12]
如何引入[0,1]范围?
如果我只有正数,我可以这样做:
(x - Xmin) / (Xmax-Xmin)
但是既有正面价值又有负面价值?
答案 0 :(得分:2)
转型保持不变:(x - Xmin) / (Xmax-Xmin)
。
如果你有负数,减去其中最小的数字就是将它的大小加到所有值上。 Xmin
将最终为零,任何更大的将最终为正。然后按(Xmax-Xmin)
缩放将所有值带入[0,1]范围。手动尝试一些案例就可以了解情况。
答案 1 :(得分:2)
您的代码仍然可以使用。
x-Xmin
移动所有数字,使它们都是正数,最小数字等于零。
/(Xmax-Xmin)
缩放数字,使最大的数字等于1,最小的数字保持为零,中间的数字按比例缩放。
所以
(x-Xmin)/(Xmax-Xmin)
具有您想要的效果。