2017-10-01 12 views
1

私はこのような、予想外のライン - gnuplotの

h(x)=0 
g(x)=(4/3)*(1-x**3) 
plot h(x)*(x<0) + g(x)*(x>0)*(x<1) + h(x)*(x>1) 

gnuplotの実装

equation をすることによって与える作品が賢明定義関数をプロットしようとしています問題は、h(x)からg(x)に向かう線が垂直線ではなく、傾いた線であることです。私は本当に垂直なものが必要です。

修正方法? plot

答えて

0

あなたは(mathematicall実際に関数値が存在することを意味するため、非連続部分間の接続線となります。

あなたは代わりにこれを行う必要があります。

plot sample [:0] h(x) lc 1 title "f(x)", \ 
      [0:1] g(x) lc 1 notitle, \ 
      [1:] h(x) lc 1 notitle 
1

はまた、あなたが

g(x)=(4./3.)*(1-x**3) 

ために関数g(x)の定義を変更する必要がある場合がありますのでご注意

set samples 1000 

により、たとえば、サンプリングレートを増やす必要がありますそれ以外の場合は(4/3)と評価されます。これは1.333ではなく1になります。

+0

私は、サンプルの値を変更するオプションを知りませんでした。非常に便利。ありがとう –