この節では GNUPLOT の ox サーバ ox_sm1_gnuplot
とのインタフェース関数を解説する.
これらの関数はファイル `gnuplot.rr' で定義されている.
gnuplot.rr は
`$(OpenXM_HOME)/lib/asir-contrib/' にある.
[255] gnuplot.start();
0
[257] gnuplot.gnuplot("plot sin(x**2);");
0
関数
gnuplot.heat(dt,step) はわれわれの GNUPLOT インタフェース関数のデモ
である.
この関数は熱伝導方程式
区間 [0,1] は Heat_N 個に分割される.
static 変数 Heat_N は
関数 gnuplot.set_heat_N で設定する.
有名な Courant-Friedrichs-Levi 数
dt*Heat_N*Heat_N が 0.5 以下であれば,
陽的差分スキームは安定である.
CFL を変えることにより, 不安定性が生じるのを観察できる.
gnuplot.set_heat_N(20); gnuplot.heat(0.001,30); (CFL number is 0.4) gnuplot.set_heat_N(20); gnuplot.heat(0.003,30); (CFL > 0.5 unstable)
Author of GNUPLOT: Thomas Williams, Colin Kelley.
http://www.gnuplot.info
gnuplot.startox_sm1_gnuplot を起動する.
ox_sm1_gnuplot を起動する.
起動された ox_sm1_gnuplot の識別番号を戻す.
Xm_noX =1 としておくと, ox_sm1_gnuplot 用の debug window が開かない.
Gnuplot_proc に格納される.
P = gnuplot.start();
ox_launch, gnuplot
gnuplotox_sm1_gnuplot は自動的に GNUPLOT 本体をリスタートする.
^ をうけつけない. かわりに, ** を使う.
[232] P = gnuplot.start();
0
*Plot 3 dimensional graph.
[233] gnuplot.gnuplot("splot x**2-y**2;"|proc=P);
0
*Plot 2 dimensional graph.
[234] gnuplot.gnuplot("plot [-pi:pi] [-2:2] cos(x);");
0
*Output a graph as a postscript figure.
[235] gnuplot.output(|file="hoge.eps");
0
[236] gnuplot.gnuplot("plot sin(x)*cos(x);");
0
[237] gnuplot.gnuplot(|file="x11");
0
*Plot 3 dimensional graph hiding unvisible lines.
[236] gnuplot.gnuplot("set hidden3d");
0
[237] gnuplot.gnuplot("splot (x**2+y**2)*sin(x**2+y**2)");
0
[238] gnuplot.gnuplot("set isosamples 50");
0
[239] gnuplot.gnuplot("splot (x**2+y**2)*sin(x**2+y**2)");
ox_launch, gnuplot.start, rtostr,
gnuplot.plot_dots
gnuplot.plot_dots[ ] のときはスクリーンがまず消去される.
[239] P = gnuplot.start(); 0 [240] gnuplot.plot_dots([ ],0); 0 [241] for (I=0; I<10; I++) gnuplot.plot_dots([[I,I^2]]," lines "); [242] A = [ ]; [] [243] for (I=0; I<10; I++) A = append(A,[ [I,I^2]]); [244] A; [[0,0],[1,1],[2,4],[3,9],[4,16],[5,25],[6,36],[7,49],[8,64],[9,81]] [245] gnuplot.plot_dots(A," lines "); 0
gnuplot.start, plot "fileName" with options(GNUPLOT command),
gnuplot.clean, gnuplot
gnuplot.heatpde_heat_demo と呼ばれる予定.
[232] Heat_N = 20$ [233] gnuplot.heat(0.001,30)$
gnuplot.outputGNUPLOT にファイル s へポストスクリプトで出力するように頼む.
GNUPLOT にファイル s へポストスクリプトで出力するように頼む.
s が "x11" または, この関数を引数無しでよぶと,
以後, X11 の display に graphics が出力される.
[273] gnuplot.output(|file="hoge.eps");
Graphic output of GNUPLOT will be written to hoge.eps as a Poscript file.
0
[274] gnuplot.gnuplot("plot tan(x)+sin(x);");
0
[275] gnuplot.output();
Usage of gnuplot.output: gnuplot.output(|file="string")
gnuplot.output(|file="x11")
Output device is set to X11
gnuplot
gnuplot.plot_functiongnuplot サーバに f のグラフを書くように頼む.
gnuplot サーバに f のグラフを書くように頼む.
[290] gnuplot.plot_function((x+sin(x))^2); 0 [291] gnuplot.plot_function([x,x^2,x^3]); 0
gnuplot.to_gnuplot_format
gnuplot.stopGNUPLOT を停止し, 通信用の fifo ファイルを消す.
GNUPLOT を停止し, 一時ディレクトリの下に作成された通信用の fifo ファイルを消す.
[273] gnuplot.stop()
gnuplot.start
gnuplot.setenvkey は "gnuplot.callingMethod" または "plot.gnuplotexec".
Use the old method to communicate with gnuplot (version 3).
This method does not use mkfifo, but we need a patched version of gnuplot.
[273] gnuplot.setenv("gnuplot.callingMethod",0);
[274] gnuplot.setenv("plot.gnuplotexec",getenv("OpenXM_HOME")+"/bin/gnuplot4ox");
Calling your own gnuplot binary.
[274] gnuplot.setenv("plot.gnuplotexec","/cygdrive/c/program files/gnuplot/pgnuplot.exe");
gnuplot.start
Jump to: g
@vfill @eject
This document was generated on 13 February 2010 using texi2html 1.56k.