2012年6月27日水曜日

gnuplotのソース

gnuplotは2次元, 3次元のグラフを書いてくれるソフト. いくつかの具体例で, 適当にいじって遊んでみる. 実際に入力するのは, gnuplot> の後の部分だけ. ソースが絡まっているのは, あまり気にしない方向で使っている. これくらいの計算なら, 殆どのPCで困ることではない(OSが動かないと致命的ではあるが)

方向微分はできるけど、実は連続ですらない例


gnuplot> set xrange [-1:1] 
gnuplot> set yrange [-1:1]
gnuplot> splot (x**2*y)/(x**4+y**2)
gnuplot> set xrange [-0.5:0.5]
gnuplot> replot
gnuplot> set xrange [-0.1:0.1]
gnuplot> replot
gnuplot> set isosample 40
gnuplot> replot
gnuplot> set pm3d
gnuplot> replot
gnuplot> set yrange [-0.1:0.1]
gnuplot> replot
gnuplot> set contour
gnuplot> replot


等高線を書いて, 制約条件付き最大、最小問題を考えてみる


gnuplot> splot x**2+2*x*y+3*y**2
gnuplot> set contour base
gnuplot> replot
gnuplot> set xrange [-2:2]
gnuplot> set yrange [-2:2]
gnuplot> replot
gnuplot> set cntrparam levels incremental 0, 2, 30
gnuplot> replot
gnuplot> unset surface
gnuplot> replot



コンピュータをむやみやたらに信じてはいけないよ


gnuplot> set xrange [0.01:0.1]
gnuplot> plot sin(pi/x)


各点収束と一様収束の違いはこんな感じ


gnuplot> set xrange [0:1]
gnuplot> set yrange [0:1]
gnuplot> plot x**1
gnuplot> plot x**2
gnuplot> plot x**3
gnuplot> plot x**4
gnuplot> plot x**5
gnuplot> plot x**6
gnuplot> plot x**10
gnuplot> plot x**15
gnuplot> plot x**20
gnuplot> plot x**40
gnuplot> plot x**50
gnuplot> plot x**100
gnuplot> plot x**150
gnuplot> plot x**300
gnuplot> plot x**500
gnuplot> plot x**1000
gnuplot> plot x**1, x**2, x**3, x**4, x**5
gnuplot> plot x**1, x**5, x**10, x**50, x**100
gnuplot> plot (x*(1-x))**1
gnuplot> set yrange [0:0.3]
gnuplot> plot (x*(1-x))**1
gnuplot> plot (x*(1-x))**2
gnuplot> plot (x*(1-x))**3
gnuplot> plot (x*(1-x))**4
gnuplot> plot (x*(1-x))**5
gnuplot> set yrange [0:0.001]
gnuplot> replot
gnuplot> plot (x*(1-x))**5
gnuplot> plot (x*(1-x))**6
gnuplot> plot (x*(1-x))**7
gnuplot> plot (x*(1-x))**8
gnuplot> plot (x*(1-x))**9
gnuplot> plot (x*(1-x))**10
gnuplot> set yrange [0:0.3]
gnuplot> plot (x*(1-x))**1, (x*(1-x))**2, (x*(1-x))**3, (x*(1-x))**4, (x*(1-x))**5