线性分布值

时间:2013-12-04 07:29:21

标签: java linear

我有1440个值(代表每天的分钟数),我需要一个函数:

 public int f(int minute) { }

minute线性地映射到1.00到1.25的范围内。

特别是:

f(1) == 1.25 
f(1440) == 1.

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;
}