Credits Overview Plotting Styles Commands Terminals

関数 (Functions)

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

数学ライブラリ、組み込み関数
関数 引数 戻り値
abs(x) 整数または実数 |x|, x の絶対値; 同じ型
abs(x) 複素数 x の長さ, √( Re(x)2 + Im(x)2 )
acos(x) 任意 cos-1 x (アークコサイン)
acosh(x) 任意 cosh-1 x (逆双曲余弦)
airy(x) 実数 実数の x に対するエアリー (Airy) 関数 Ai(x)
arg(x) 複素数 x の偏角
asin(x) 任意 sin-1 x (アークサイン)
asinh(x) 任意 sinh-1 x (逆双曲正弦)
atan(x) 任意 tan-1 x (アークタンジェント)
atan2(y,x) 整数または実数 tan-1(y/x) (アークタンジェント)
atanh(x) 任意 tanh-1 x (逆双曲正接)
besj0(x) 実数 ラジアンでの J0 ベッセル関数 (0 次ベッセル関数)
besj1(x) 実数 ラジアンでの J1 ベッセル関数 (1 次ベッセル関数)
besjn(n,x) 整数, 実数 ラジアンでの Jn ベッセル関数 (n 次ベッセル関数)
besy0(x) 実数 ラジアンでの Y0 ベッセル関数 (0 次ノイマン関数)
besy1(x) 実数 ラジアンでの Y1 ベッセル関数 (1 次ノイマン関数)
besyn(n,x) 整数, 実数 ラジアンでの Yn ベッセル関数 (n 次ノイマン関数)
besi0(x) 実数 ラジアンでの I0 変形ベッセル関数 (0 次変形ベッセル関数
besi1(x) 実数 ラジアンでの I1 変形ベッセル関数 (1 次変形ベッセル関数
besin(n,x) 整数, 実数 ラジアンでの In 変形ベッセル関数 (n 次変形ベッセル関数
cbrt(x) 実数 x の三乗根、定義域と値域は共に実数
ceil(x) 任意 x⌉, x (の実部) 以上の最小の整数
conj(x) 複素数 x の複素共役
cos(x) radians cos x, x のコサイン
cosh(x) 任意 cosh x, ラジアンでの x のハイパボリックコサイン
EllipticK(k) (-1:1) 内の実数 k K(k) 第 1 種完全楕円積分
EllipticE(k) [-1:1] 内の実数 k E(k) 第 2 種完全楕円積分
EllipticPi(n,k) 実数 n<1, (-1:1) 内の実数 k Π(n,k) 第 3 種完全楕円積分
erf(x) 任意 erf(Re(x)), x の実部の誤差関数
erfc(x) 任意 erfc(Re(x)), 1.0 - (x の実部の誤差関数)
exp(x) 任意 ex, x の指数関数
expint(n,x) 任意 En(x), x の指数積分
floor(x) 任意 x⌋, x (の実部) 以下の最大の整数
gamma(x) 任意 Γ(Re(x)), x の実部のガンマ関数
ibeta(p,q,x) 任意 ibeta(Re(p,q,x)), p,q,x の実部の不完全ベータ関数
inverf(x) 任意 x の実部の逆誤差関数
igamma(a,z) 複素数 igamma(a>0,z), 複素数 a>0,z の不完全ガンマ関数
imag(x) 複素数 Im(x), x の虚数部分 (実数)
int(x) 実数 x の整数部分 (0 に向かって丸め)
invibeta(a,b,p) 0<p<1 逆不完全ベータ関数
invigamma(a,p) 0<p<1 逆不完全ガンマ関数
invnorm(x) 任意 x の実部の逆正規分布関数
LambertW(z,k) 複素数, 整数 複素 Lambert W 関数の第 k 分岐
lambertw(x) 実数 Lambert W 関数の主値 (第 0 分岐)
lgamma(x) 実数 lgamma(Re(x)), x の実部のガンマ対数関数
lnGamma(x) 複素数 複素平面全体で正当な lnGamma(x)
log(x) 任意 ln x, x の自然対数 (底 e)
log10(x) 任意 log10 x, x の対数 (底 10)
norm(x) 任意 norm(x), x の実部の正規分布関数
rand(x) 整数 区間 (0:1) 内の疑似乱数
real(x) 任意 Re(x), x の実数部分
sgn(x) 任意 x > 0 なら 1, x < 0 なら -1, x = 0 なら 0. x の虚部は無視
Sign(x) 複素数 x = 0 なら 0、それ以外は x/|x|
sin(x) 任意 sin x, x のサイン
sinh(x) 任意 sinh x,ラジアンでの x のハイパボリックサイン
sqrt(x) 任意 x, x の平方根
SynchrotronF(x) 実数 (第 1) シンクロトロン関数 F
tan(x) 任意 tan x, x のタンジェント
tanh(x) 任意 tanh x, ラジアンでの x のハイパボリックタンジェント
uigamma(a,x) 実数 uigamma(a,x), 上方不完全ガンマ関数 a>0,x
voigt(x,y) 実数 ガウス関数とローレンツ関数の畳みこみ
zeta(s) 任意 リーマンゼータ関数

 

libcerf (利用可能な場合のみ) による特殊関数
関数 引数 戻り値
cerf(z) 複素数 複素誤差関数
cdawson(z) 複素数 複素 Dawson 積分
faddeeva(z) 複素数 再スケール化複素誤差関数 w(z) = exp(-z2) × erfc(-iz)
erfi(x) 実数 虚誤差関数 erfi(x) = -i × erf(ix)
FresnelC(x) 実数 フレネル積分のコサイン (実数) 成分
FresnelS(x) 実数 フレネル積分のサイン (虚数) 成分
VP(x,sigma,gamma) 実数 Voigt プロファイル
VP_fwhm(sigma,gamma) 実数 Voigt プロファイルの半値全幅 (FWHM)

 

文字列関数
関数 引数 戻り値
gprintf("format",x,...) 任意 gnuplot の書式解析器を適用した結果の文字列
sprintf("format",x,...) 複数個 C 言語の sprintf の返す文字列
strlen("string") 文字列 文字列の中の文字数
strstrt("string","key") 文字列 部分文字列 "key" が現れる先頭位置
substr("string",beg,end) 複数個 文字列 "string"[beg:end]
split("string","separator") 文字列 元の文字列の個々のフィールドを持つ配列
join(array,"separator") 配列, 文字列 配列要素を文字列に結合
strftime("timeformat",t) 任意 gnuplot による時刻解析結果の文字列
strptime("timeformat",s) 文字列 文字列 s を変換した 1970 年からの秒数
system("command") 文字列 シェルコマンドの出力を持つ文字列
trim(" string ") 文字列 前後につく空白を取り除いた文字列
word("string",n) 文字列, 整数 文字列 "string" の n 番目の単語
words("string") 文字列 文字列 "string" 中の単語数

 

時刻関数
関数 引数 戻り値
time(x) 任意 現在のシステム時刻
timecolumn(N,format) 整数, 文字列 入力データの N 列目からの書式化日時データ
tm_hour(t) 秒数による時刻
tm_mday(t) 秒数による時刻 日 (その月の)
tm_min(t) 秒数による時刻
tm_mon(t) 秒数による時刻
tm_sec(t) 秒数による時刻
tm_wday(t) 秒数による時刻 その週の何日目
tm_week(t) 秒数による時刻 その年の週番号 (ISO 8601)
tm_yday(t) 秒数による時刻 その年の何日目
tm_year(t) 秒数による時刻 西暦
weekdate_iso(year,week,day) 整数 ISO 8601 規則での週曜日に対応する時刻
weekdate_cdc(year,week,day) 整数 CDC による疫学的週曜日に対応する時刻

 

他の gnuplot の関数
関数 引数 戻り値
column(x) 整数か文字列 入力データ中の x 列目の内容
columnhead(x) 整数 データファイルの最初の x 列目中の文字列
exists("X") 文字列 変数名 X が定義されていれば 1, そうでなければ 0
hsv2rgb(h,s,v) [0:1] 内の実数 h,s,v HSV 色を 24ビットの RGB 色へ変換
index(A,x) 配列, 任意 A[i] が x に等しい i
palette(z) 実数 z に割り当てられた 24 ビット RGB パレット色
rgbcolor("name") 文字列 色名の 32 ビット ARGB 値
stringcolumn(x) 整数 文字列としての x 列目の内容
valid(x) 整数 データ入力中の x 列の正当性
value("name") 文字列 名前 name の変数の現在の値
Subtopics