关于下降功能的建议

时间:2012-03-27 17:15:07

标签: algorithm math

这个可能是相当愚蠢的......或者我只是筋疲力尽或其他什么,但我似乎无法解决它..

问题:两个变量X和Y,Y的值取决于X的值.X可以具有从某个值到某个值(从0到250)的值,并且y可以具有不同的值(从中可以说0.1到1.0或者什么......) - 但它是反向关系(我的意思是:如果X的值是例如250,那么Y的值将是0.1,当X减小到0时,Y的值增加到1.0 ..

那我该怎么办呢?让我说我有功能: - double computeValue(double X){/ calculate / return Y; }

此外,是否有一些简单的方法以某种方式使功能的缩放不那么线性? - 例如当X加注时,Y首先减慢但最后减速更快..(不知道怎么说,但我希望你们得到它)

提前感谢这个愚蠢的问题:/

编辑 - 更改了标题。

编辑 - 谢谢大家,感谢您的快速回复。祝大家度过愉快的一天。

3 个答案:

答案 0 :(得分:2)

这不是反比关系。这只是一个下降的功能。也许,你寻找类似的东西:

f(x)= Sqrt(1-x / 250)* 0.9 + 0.1

Plot of function

答案 1 :(得分:1)

您可以使用Y = C ^( - X)功能。其中C> 1,取决于你喜欢的'秋天'。

答案 2 :(得分:1)

X'=(X - X_min)/(X_max - X_min)

现在 0< = X'< = 1

要使其反转,请

X''= 1 - X'

获得线性缩放:

Y = X''*(Y_max - Y_min)+ Y_min

进行其他扩展:

Y = scalling_function(X'')*(Y_max - Y_min)+ Y_min

scalling_function可以是:

scalling_function(a)= a * a

scalling_function(a)= sqrt(a)