2011-05-18 16 views
3

我有一个可变x接受从0值的范围 - 500如何缩小数值?

我想在接受一个范围为0的一个新的变量xScaled到represdnt这个变量的值 - 1。

实施例: 鉴于x = 292xScaled的相对值是多少?如何计算?

感谢

+3

它*是*一个真正的问题,它只是偏移。无论如何,它很容易回答而不是结束。 – Blindy 2011-05-18 14:13:04

+2

@Bindind它是一个非常有效的数学问题。仅仅因为我没有用编程术语来描述变量,在我看来并不会使它成为“脱离主题”。 – Sabobin 2011-05-18 14:16:12

+1

其实它有一个数学计算器站点。但如果你没有注意到,我捍卫你的问题:) – Blindy 2011-05-18 14:22:54

回答

5

只是除以500:

xScaled = 292/500; 
1

在C和类似语言:

x = 292; 
xScaled = x/500.0; 
4

似乎被要求输入公式:

xScaled = x/500 

对于更通用的解决方案,下面的伪代码可以在一个范围映射到另一个:

def mapRange (x, from_min, from_max, to_min, to_max): 
    return (x - from_min) * (to_max - to_min)/(from_max - from_min) + to_min 
2

除以最大值:(0-500)变为(0/500-500/500)=( 0-1)。

因此,对于292,缩放它成为292/500。