私の友人が、単純な多項式フィットに関する gnuplot の奇妙な動作を発見しました。誰かこれを説明できますか?
ファイルは次のとおりです。
#!/usr/bin/gnuplot -p
f(x) = B*(x**4) + A
fit f(x) "data.txt" using ($1+273.14):2 via A, B
plot "data.txt" using ($1+273.14):2 notitle,\
f(x) notitle
データは次のとおりです。
# content of data.txt
350 3.856
330 3.242
290 2.391
250 1.713
210 1.181
170 0.763
130 0.437
結果のプロットは緑の線です。青い線は、基本的に同じ形式の別の関数を使用すると、はるかによく適合することを示しています。緑の線の場合、A は定数値 (A = 0.2123、つまり約 B*300^4) に置き換えられました。
f(x) = B*(x**4) - 0.2123
したがって、緑色の線は、はるかに優れた結果をもたらし、B*x 4 + A の形式であるため、ここでは明らかに最適ではありません。緑色の近似では、パラメータ **A は gnuplot によって単純に無視され、近似アルゴリズムによって変更されません。A と B に異なる初期値を設定しても、あまり役に立たないようです。A の値は、その初期値に対して決して変化しません。私の友人と私は、Ubuntu に付属している標準の Gnuplot バージョン、gnuplot 4.4 patchlevel 3 を使用しています。