我有一个数学问题,我有点难过。我需要以非线性方式将数字从一个范围映射到另一个范围。我手动从我想要实现的目标中获取了一些样本数据。看起来就像这样。
来源 - 期望的结果
0 - 1
78 - 0.885
363 - 0.625
1429 - 0.3
3404 - 0.155
7524 - 0.075
11604 - 0.05
源编号的范围从0到理想情况下是一个无穷大的数字,但如果它停在数千个的某个地方,则会很高兴。结果数字从1到0.它需要快速下降然后平稳。理想情况下永远不会达到零。
我知道从一个范围到另一个范围的标准方程式。
y = ((x * origRange) / newRange) + newRangeOffset
不幸的是,这并没有给我预期的结果。是否有一个优雅的非线性方程式可以给出我追求的结果?
答案 0 :(得分:3)
f(x) = 620 / (620 + x)
给出的答案精确到所有值的2%
答案 1 :(得分:1)
根据建议here,您可以使用多项式插值(存在于多个软件包中)。
如果你想尝试一下,我建议你去 Wolfram Alpha 并选择Polynomial Interpolation。
This就是使用你的一些观点的一个例子。