这个可能是相当愚蠢的......或者我只是筋疲力尽或其他什么,但我似乎无法解决它..
问题:两个变量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首先减慢但最后减速更快..(不知道怎么说,但我希望你们得到它)
提前感谢这个愚蠢的问题:/
编辑 - 更改了标题。
编辑 - 谢谢大家,感谢您的快速回复。祝大家度过愉快的一天。
答案 0 :(得分:2)
这不是反比关系。这只是一个下降的功能。也许,你寻找类似的东西:
f(x)= Sqrt(1-x / 250)* 0.9 + 0.1
答案 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)