gnuplotでマルチブランチフィットをしたいです。2つの関数z1(x)とz2(x)を定義しましたが、z1(x)が49行目までのすべてのデータに適合し、50行目からはz2(x)に適合している必要があります。これは私がフィッティング部分で行うことです:
z(x,y) = (y < 50) ? z1(x) : z2(x)
fit z(x,y) 'data.txt' using 1:-1:2 via a, b
しかし、gnuplotはz2(x)の部分を完全に無視します。z2(x)の定義をコメントアウトすることもできますが、エラーも警告も表示されません。y> = 50の場合には到達しませんが、data.txtファイルには100行あります。
また、後でz1(x)とz2(x)をプロットすると、それらは定数ゼロ(z1 = z2 = 0)になりますが、近似パラメーターaとbは大まかに(2番目の分岐が無視されるため完全ではありません)正しい順序。
私はここで何か間違ったことをしていますか?良い例はありますか(公式のgnuplotフィットデモは役に立ちませんでした)?