T(x) = a + b*x + c*x*x set xdata time fit T(x) 'hits.dat' using 1:3 via a,b,c
しかしそれは多分失敗します。なぜならそのある日に対応する内部での x の の値は [1.67746e+09 : 1.67754e+09] のような範囲になってしまうからです。 計測データの x の小さな変更はわずかに 1.e-05 程度なので、収束を保証す るためには、初期パラメータ評価で多分ずっと先の小数第何位の精度が必要に なってしまうでしょう。
一つの解決策は、時間を測定の開始時間からの時間に変更して問題を作り変え
てしまうことです。
set xdata time # データ書式は "27-02-2023 12:00:00 計測値" timefmt = "%d-%m-%Y %H:%M:%S" set timefmt timefmt t0 = strptime( timefmt, "27-02-2023 00:00:00" ) fit T(x) 'temperature.dat' using ($1-t0):3 via a,b,c
これはデータの範囲を [0 : 86400] に変え、より扱いやすくなります。
この場合の他の方法としては、1 列目の日付を無視し、2 列目に相対時刻形式
(tH/tM/tS) を使用することです。
set timefmt "%tH:%tM:%tS" fit T(x) 'temperature.dat' using 2:3 via a,b,c
竹野茂治@新潟工科大学