連続的な区分的関数のプロット

投稿しすぎな気もするけれど、ひらめきとは予定的に起こるものではないので仕方ない

むしろ、ひらめきの気まぐれ的な所が好き。

そして、確率の話へとつながっていく…



閑話休題。「再・区分的関数のプロット」に続いて

連続的な区分的関数の場合もっと正確かつスマートにプロットできることに気がついた。


これが、基本的なパーツとなるのだが、次のような関数を考えよう

  • y=f(a) (x< a), f(x) (a\leq x\leq b) , f(b) (b < x)

これをどうやってプロットできるように書き換えたらよいか?



こう書きなおせることに気付いた

  • y=f(Max(a,min(b,x)))


ちなみに前のエントリでちょこっと書いたが、GnuplotにはminとMaxが無い。
これらは

  • min(x,y)=(x+y-abs(y-x))/2
  • Max(x,y)=(x+y+abs(y-x))/2

として定義すれば良い。



なぜこう定義すれば良いかというと

  • min(x,y)+Max(x,y)=x+y
  • Max(x,y)-min(x,y)=abs(y-x)

が成り立つからである。



例:f(x)=sin(x), a=-4, b=3




もっと一般的な場合は、上の関数をちょっと工夫して足し上げていけばよいのです。