13.1 関数 (Functions)

gnuplot の関数は、Unix 数学ライブラリの関数とほぼ同じですが、特に注 意がなければ全ての関数が整数、実数、複素数の引数を取ることができます。

度、あるいはラジアンのどちらかで角度を引数としたり戻り値としたりする関 数 (sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(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 (逆双曲余弦)
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 (逆双曲正接)
besj0(x) 整数または実数 x j0 ベッセル関数
besj1(x) 整数または実数 x j1 ベッセル関数
besy0(x) 整数または実数 x y0 ベッセル関数
besy1(x) 整数または実数 x y1 ベッセル関数
ceil(x) 任意 $ \lceil$x$ \rceil$ , x 以上の最小の整数(real part)
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 の指数関数
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) 任意 rand(real(x)) , 疑似乱数生成器
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 のハイパボリックタンジェント

文字列関数
関数 引数 返り値
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) 文字列 文字列を変換した 2000 年からの秒数
system("command") 文字列 出力を持つシェルコマンド文字列
word("string",n) 文字列, 整数 文字列 "string" の n 番目の文字列
words("string") 文字列 文字列 "string" 中の単語数

他の gnuplot の関数
関数 引数 返り値
column(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) 整数 西暦
valid(x) 整数 データ中の column(x) の正当性
以下も参照してください。

http://www.gnuplot.info/demo/airfoil.htmlairfoil.dem: 関数と複素変数を翼に使ったデモ



竹野茂治@新潟工科大学
2009年9月7日