我正在尝试将一组数字重新缩放到具有某些特定要求的新规模。
想象一下,我有一组介于1-100之间的数字
我希望能够将这组数字缩放到80到120之间的新比例,其中80是原始集合的最小值,120是原始集合的最大值,100是平均值。
使用一个小例子:
对于集合[43,46,56,21,25,94]
在新比例21上将映射到80,94将映射到120,而44.2将映射到100。
答案 0 :(得分:0)
将范围f
缩放为[a b]
的地图[c d]
为f(x) = (x-a)*(d-c)/(b-a) + c
但是,我不认为可以确保线性f
也将范围[a b]
中包含的集合中任意值的平均值映射到范围{{中的指定值1}}(包括c和d的平均值)。
为此,您必须分别将[c d]
缩放为[a mean]
,将[c (c+d)/2)]
缩放为[mean b]
,或使用其他非线性映射。