2016-05-19 8 views
0

これは私が達成しようとしているものです。私は、指定されたdateTimeオブジェクトの温度の概算を返そうとしています。日付参照で2つの値の間の値を計算する

私が知っている:

  • 午前9時00分00秒2016年5月19日の温度が4°C
  • 12時00分00秒2016年5月19日の温度が8°でしたC

日付範囲の両側の2つの温度に基づいて、上に示したものの間の特定のdateTimeオブジェクトの温度の近似値を知りたい。

どこから始めるべきかわからないので、助けてください!我々は2つのデータポイント間の直線を想定した場合

答えて

2

は:

グラデーション

g:= (Temp2-Temp1)/(Time2-Time1) 

我々は仮定これは、すべての(温度、時間)の点についても同様です。 あなたはTime3を

(Temp3-Temp1)/(Time3-Time1) = g 

Temp3-Temp1 = (Time3-Time1) * g 

Temp3 = Temp1 + (Time3-Time1) * g 

で温度TEMP3を検索したい場合は、あなたの子供はもう代数を学ぶことではないのですか? ;-)

(私は数学のように、この書式を設定することができたことを望む)

0

@のレイフ・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 
関連する問題