Credits | Overview | Plotting Styles | Commands | Terminals |
---|
新たなユーザ定義変数と 1 個から 12 個までの引数を持つユーザ定義関数を、 任意の場所で定義したり使ったりすることができます。それは plot コマン ド上でも可能です。
ユーザ定義関数書式:
<func-name>( <dummy1> {,<dummy2>} ... {,<dummy12>} ) = <expression>
ここで <expression> は、仮変数 <dummy1> から <dummy12> で表される数式 です。この形式の関数定義は、1 行での使用に制限されています。より複雑で 複数行からなる関数は、関数ブロックの仕組みを使えば定義できます (現バー ジョンでの新機能)。以下参照: function blocks。
ユーザ定義変数書式:
<variable-name> = <constant-expression>
例:
w = 2 q = floor(tan(pi/2 - 0.1)) f(x) = sin(w*x) sinc(x) = sin(pi*x)/(pi*x) delta(t) = (t == 0) ramp(t) = (t > 0) ? t : 0 min(a,b) = (a < b) ? a : b comb(n,k) = n!/(k!*(n-k)!) len3d(x,y,z) = sqrt(x*x+y*y+z*z) plot f(x) = sin(x*a), a = 0.2, f(x), a = 0.4, f(x)
file = "mydata.inp" file(n) = sprintf("run_%d.dat",n)
最後の 2 行の例は、ユーザ定義文字列変数と、ユーザ定義文字列関数を意味 しています。
変数 pi (3.14159...) と NaN (IEEE 非数 ("Not a Number")) はあらか じめ定義されています。これらが必要なければ、他のものに再定義することも 可能ですし、以下のようにして元の値に復帰することもできます:
NaN = GPVAL_NaN pi = GPVAL_pi
他にもいくつかの変数が、例えば対話型入出力形式でのマウス操作や当てはめ (fit) などの gnuplot の動作状態に応じて定義されます。詳細は 以下参照: gnuplot-defined variables。
ある変数 V が既に定義されているかどうかは、式 exists("V") でチェックで きます。例:
a = 10 if (exists("a")) print "a is defined" if (!exists("b")) print "b is not defined"
変数名や関数名の命名規則は、大抵のプログラミング言語と同じで、先頭はア ルファベットで、その後の文字はアルファベット、数字、"_" が使えます。
各関数の定義式は、'GPFUN_' という接頭辞を持つ特別な文字列値変数として 利用できます。
例:
set label GPFUN_sinc at graph .05,.95
以下参照: show functions, functions, gnuplot-defined variables, macros, value。