好的,这就是我想要实现的目标。我试图返回给定dateTime对象的温度的粗略估计。
我知道:
我想基于日期范围两边的两个温度,知道上面显示的给定日期时间对象的温度近似值。
不知道从哪里开始,所以欢迎任何帮助!
答案 0 :(得分:2)
如果我们假设两个数据点之间有一条直线,那么:
渐变是
g:= (Temp2-Temp1) / (Time2-Time1)
我们假设所有(温度,时间)点都是如此。 如果你想在Time3找到温度Temp3
(Temp3-Temp1) / (Time3-Time1) = g
Temp3-Temp1 = (Time3-Time1) * g
Temp3 = Temp1 + (Time3-Time1) * g
你们小孩不再学习代数吗? ; - )
(我希望我能够将其格式化为数学)
答案 1 :(得分:0)
基于@ leif-netland回答最终的工作代码示例供参考:
$time1 = (new dateTime())->format('YmdHis');
$temp1 = 4;
$time2 = (new dateTime())->modify('+2 hours')->format('YmdHis');
$temp2 = 8;
$time3 = (new dateTime())->modify('+1 hours')->format('YmdHis');
$gradient = ($temp1-$temp2) / ($time1 - $time2);
$temp3 = $temp1 + ($time3 - $time1) * $gradient; // 6