我有1440个值(代表每天的分钟数),我需要一个函数:
public int f(int minute) { }
将minute
线性地映射到1.00到1.25的范围内。
特别是:
f(1) == 1.25
f(1440) == 1.
答案 0 :(得分:6)
一般来说,这可以通过方程组找到:
f(x) = A + B(x)
f(1) = A + B(1) = 1.25
f(1440) = A + B(1440) = 1.00
解决A和B得到你的等式。
上述方法将始终为您提供正确的解决方案,但对于您的问题,如果您假设f(x) = A + B(x - 1)
,则解决方案会更加简化,因为f(1) = A = 1.25
:
public static double func(int x){
return 1.25 - .25 * (x - 1)/1439;
}