3
例如我有两个范围重新缩放范围
(1) 0 to 3
(2) 10 to 15
在范围(1)我有0和3,其中0是最小和3之间的数字是最大值...(它也值1和2)...
现在我想重新调整范围(1)和(2)的范围为0到1.你能告诉我怎么做或至少指向有用的网站吗?非常感谢!
例如我有两个范围重新缩放范围
(1) 0 to 3
(2) 10 to 15
在范围(1)我有0和3,其中0是最小和3之间的数字是最大值...(它也值1和2)...
现在我想重新调整范围(1)和(2)的范围为0到1.你能告诉我怎么做或至少指向有用的网站吗?非常感谢!
你所描述的内容叫做linear interpolation。
对于一般的情况下,假设有a
和b
之间的值c
,并且希望这是基于a
和b
之间c
的相对位置0和1之间的值x
。对于x
的公式如下:
x := (c - a)/(b - a)
所以,如果你有10和15之间的值(比方说11),并且希望在0和1之间的值,你一拳值代入上面的方程:
x := (11 - 10)/(15 - 10)
x := 1/5
换句话说,图11是从10方式的五分之一至15
的更一般的情况下(当你有之间的值和b
,你想一个价值y
和z
之间x
),x
的计算方法如下:
x := (c - a) * (z - y)/(b - a) + y
在你的情况,z = 1
和y = 0
。 “
”现在我想重新调整范围(1)和(2)的范围0到1“ - 不清楚。你想要什么输出? – 2009-09-21 18:23:27
@Riki,你的问题不清楚。 – Mahesh 2009-09-21 19:21:16