gnuplot / parametric
not so FAQ
|
媒介変数表示のあれこれ媒介変数表示について. gnuplotで2次元関数を表示するときは,y=f(x)という形でy座標を表しますが, x = f(t) y = g(t) のように媒介変数表示することもできます.この形式を用いることで,複雑 媒介変数を用いてグラフを描くには,まず set parametric を用 垂直線の描き方. 最も単純かつy=f(x)という関数型で表現できないのが,x=const.という垂直 x=const y=t と書き,tを適当な範囲で変化させた場合に相当します.tの gnuplot> set parametric dummy variable is t for curves, u/v for surfaces gnuplot> const=3 gnuplot> set trange [1:4] gnuplot> set xrange [0:5] gnuplot> set yrange [0:5] gnuplot> plot const,t この例ではx=3の所に垂直線を描いています. set trange [1:4] 円,正多角形の描き方.円の媒介変数表示は, x=cos(t) y=sin(t) で与えられ,tを0から2πまで変化させれば円が描けます.縦横比は, gnuplot> set parametric dummy variable is t for curves, u/v for surfaces gnuplot> set size square gnuplot> set xrange [-1:1] gnuplot> set yrange [-1:1] gnuplot> plot [0:2*pi] cos(t),sin(t) ![]() 上の図では,変数tは連続的に変化しているように見えますが,実際 ![]() 2次元関数の媒介変数表示は極座標で表示された x=r(t)*cos(t) y=r(t)*sin(t) 円はr(t)=const.の特殊な例です.円の半径をtに比例するように変 gnuplot> set xrange [-10*pi:10*pi] gnuplot> set yrange [-10*pi:10*pi] gnuplot> plot [0:10*pi] t*cos(t),t*sin(t) ![]() 以下の例はr(t)=const*(1+cos(t))として描かれるCardioidです. gnuplot> set parametric dummy variable is t for curves, u/v for surfaces gnuplot> r(t) = 1+cos(t) gnuplot> plot [0:2*pi] r(t)*cos(t),r(t)*sin(t) ![]() X軸とY軸を入れ換える. 関数表示は普通 y=f(x) と書かれますが,媒介変数を用いると x=f(y)のグ gnuplot> set parametric dummy variable is t for curves, u/v for surfaces gnuplot> c=2*pi gnuplot> set size square gnuplot> set trange [-c:c] gnuplot> set xrange [-c:c] gnuplot> set yrange [-c:c] gnuplot> plot c*sin(t),t with lines, t,c*cos(t) with impulses 2つのグラフを重ねて表示しています.一つは y=2pi*cos(x)で,緑の縞模様で with impulse は,グラフ上の点からY=0の軸に垂直に足を降ろし |