14.1 関数 (Functions)

gnuplot の数学関数は、Unix 数学ライブラリの関数とほぼ同じですが、特 に注意がなければ全ての関数が整数、実数、複素数の引数を取ることができま す。角を引数や戻り値とする関数 (例えば sin(x), cos(x), arg(z)) は、そ の値をラジアンとして扱いますが、これはコマンド set angles によって度 に変更できます。

数学ライブラリ関数
関数 引数 戻り値
     
abs(x) 任意 x の絶対値, | x| ; 同じ型
abs(x) 複素数 x の長さ, $ \sqrt{{{\mbox{real}(x)^{2} +
\mbox{imag}(x)^{2}}}}$
acos(x) 任意 cos-1x (アークコサイン)
acosh(x) 任意 ラジアンでの cosh-1x (逆双曲余弦)
airy(x) 任意 エアリー関数 Ai(x)
arg(x) 複素数 x の偏角
asin(x) 任意 sin-1x (アークサイン)
asinh(x) 任意 ラジアンでの sinh-1x (逆双曲正弦)
atan(x) 任意 tan-1x (アークタンジェント)
atan2(y,x) 整数または実数 tan-1(y/x) (アークタンジェント)
atanh(x) 任意 ラジアンでの tanh-1x (逆双曲正接)
EllipticK(k) 実数 k $ \in$ (-1:1) K(k) 第 1 種完全楕円積分
EllipticE(k) 実数 k $ \in$ [-1:1] E(k) 第 2 種完全楕円積分
EllipticPi(n,k) 実数 n< 1, 実数 k $ \in$ (-1:1) $ \Pi$(n, k) 第 3 種完全楕円積分
besj0(x) 整数または実数 j0 ベッセル関数 (0 次ベッセル関数)
besj1(x) 整数または実数 j1 ベッセル関数 (1 次ベッセル関数)
besy0(x) 整数または実数 y0 ベッセル関数 (0 次ノイマン関数)
besy1(x) 整数または実数 y1 ベッセル関数 (1 次ノイマン関数)
ceil(x) 任意 $ \lceil$x$ \rceil$ , x (の実部) 以上の最小の整数
cos(x) 任意 x のコサイン cos x
cosh(x) 任意 cosh x , x のハイパボリックコサイン
erf(x) 任意 erf(real(x)) , x の 実部の誤差関数
erfc(x) 任意 erfc(real(x)) , 1.0 - (x の実部の誤差関数)
exp(x) 任意 ex , x の指数関数
expint(n,x) 整数 n$ \ge$ 0 , 実数 x$ \ge$ 0 En(x) = $ \int_{1}^{\infty}$t-ne-xt dt , x の指数積分
floor(x) 任意 $ \lfloor$x$ \rfloor$ , x (の実部) 以下の最大の整数
gamma(x) 任意 gamma(real(x)) , x の実部のガンマ関数
ibeta(p,q,x) 任意 ibeta(real(p, q, x)) , p ,q ,x の実部の不完全ベータ関数
inverf(x) 任意 x の実部の逆誤差関数
igamma(a,x) 任意 igamma(real(a, x)) , a ,x の実部の不完全ガンマ関数
imag(x) 複素数 x の虚数部分 (実数)
invnorm(x) 任意 x の実部の逆正規分布関数
int(x) 実数 x の整数部分 (0 に向かって丸め)
lambertw(x) 実数 Lambert W 関数
lgamma(x) 任意 lgamma(real(x)) , x の実部のガンマ対数関数
log(x) 任意 logex , x の自然対数 (底 e )
log10(x) 任意 log10x , x の対数 (底 10 )
norm(x) 任意 x の実部の正規分布 (ガウス分布) 関数
rand(x) 整数 区間 [0:1] 内の疑似乱数生成器
real(x) 任意 x の実部
sgn(x) 任意 x > 0 なら 1, x < 0 なら -1, x = 0 なら 0. x の虚部は無視
sin(x) 任意 sin x , x のサイン
sinh(x) 任意 sinh x , x のハイパボリックサイン
sqrt(x) 任意 $ \sqrt{{x}}$ , x の平方根
tan(x) 任意 tan x , x のタンジェント
tanh(x) 任意 tanh x , x のハイパボリックタンジェント
voigt(x,y) 実数 Voigt/Faddeeva 関数 $ {\frac{{y}}{{\pi}}}$$ \int$$ {\frac{{exp(t^2)}}{{(x-t)^2+y^2}}}$dt
     

文字列関数
関数 引数 返り値
gprintf("format",x,...) 任意 gnuplot の書式解析器を適用した結果の文字列
sprintf("format",x,...) 複数個 C 言語の sprintf の返す文字列
strlen("string") 文字列 バイト単位での文字列の長さ (整数)
strstrt("string","key") 文字列 部分文字列 "key" が現れる先頭位置
substr("string",beg,end) 複数個 文字列 "string"[beg:end]
strftime("timeformat",t) 任意 gnuplot による時刻解析結果の文字列
strptime("timeformat",s) 文字列 文字列 s を変換した 2000 年からの秒数
system("command") 文字列 シェルコマンドの出力を持つ文字列
word("string",n) 文字列, 整数 文字列 "string" の n 番目の単語
words("string") 文字列 文字列 "string" 中の単語数

他の gnuplot の関数
関数 引数 返り値
column(x) 整数 データファイル処理中の x 列目
column(x) 整数か文字列 データファイル処理中の x 列目
columnhead(x) 整数 データファイルの最初の x 列目中の文字列
defined(X) 変数名 [非推奨] X が定義されていれば 1, そうでなければ 0
exists("X") 文字列 変数名 X が定義されていれば 1, そうでなければ 0
stringcolumn(x) 整数か文字列 文字列としての x 列目の内容
timecolumn(x) 整数 データファイル処理中の x 列目の日時データ
tm_hour(x) 整数
tm_mday(x) 整数
tm_min(x) 整数
tm_mon(x) 整数
tm_sec(x) 整数
tm_wday(x) 整数 その週の何日目
tm_yday(x) 整数 その年の何日目
tm_year(x) 整数 西暦
time(x) 任意 現在のシステム時刻
valid(x) 整数 データ中の column(x) の正当性
value("name") 文字列 名前 name の変数の現在の値



Subsections
竹野茂治@新潟工科大学
2012年10月3日