この節では 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.start
ox_sm1_gnuplot
を起動する.
ox_sm1_gnuplot
を起動する.
起動された ox_sm1_gnuplot
の識別番号を戻す.
Xm_noX =1
としておくと, ox_sm1_gnuplot
用の debug window が開かない.
Gnuplot_proc
に格納される.
P = gnuplot.start();
ox_launch
, gnuplot
gnuplot
ox_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.heat
pde_heat_demo
と呼ばれる予定.
[232] Heat_N = 20$ [233] gnuplot.heat(0.001,30)$
gnuplot.output
GNUPLOT
にファイル 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_function
gnuplot
サーバに 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.stop
GNUPLOT
を停止し, 通信用の fifo ファイルを消す.
GNUPLOT
を停止し, 一時ディレクトリの下に作成された通信用の fifo ファイルを消す.
[273] gnuplot.stop()
gnuplot.start
gnuplot.setenv
key
は "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 23 February 2009 using texi2html 1.56k.