表 2:
gnuplotの組み込み数学関数.xは実数,zは複素数,rzは実数
もしくは複素数の実部を表す.文献 [1]を
参考に作成.
関数 |
動作 |
|
関数 |
動作 |
abs(z) |
絶対値 |
|
ibeta(p,q,rz) |
不完全ベータ関数 |
acos(z) |
|
|
igamma(a,rz) |
不完全ガンマ関数 |
acosh(z) |
|
|
imag(z) |
の虚部 |
asin(z) |
|
|
int(rz) |
rz の整数部を求める関数 |
asinh(z) |
|
|
inverf(rz) |
erf(rz) の逆関数 |
atan(z) |
|
|
invnorm(rz) |
norm(rz) の逆関数 |
atan2(z1,z2) |
逆正接関数(〜) |
|
lgamma(rz) |
対数ガンマ関数 |
atanh(z) |
|
|
log(z) |
|
besj0(x) |
0次ベッセル関数 |
|
log10(z) |
|
besj1(x) |
1次ベッセル関数 |
|
norm(rz) |
正規分布関数の累積を求める関数 |
besy0(x) |
0次ノイマン関数 |
|
rand(rz) |
擬似乱数を発生させる関数 |
eesy1(x) |
1次ノイマン関数 |
|
real(z) |
zの実部 |
ceil(rz) |
以上の最小の整数を求める関数 |
|
sgn(rz) |
の符号を求める関数 |
cos(z) |
|
|
sin(z) |
|
cosh(z) |
|
|
sinh(z) |
|
erf(rz) |
(正規化)誤差関数
|
|
sqrt(z) |
|
erfc(rz) |
を示す関数 |
|
tan(z) |
|
exp(z) |
|
|
tanh(z) |
|
floor(rz) |
以下の最大整数を求める関数 |
|
|
|
gamma(rz) |
ガンマ関数
|
|
|
|
|
|
|
|
|
表 3:
gnuplotのコマンドの一覧.文献 [1]から引用.
コマンド |
動作 |
cd |
作業ディレクトリを移動 |
call |
スクリプトファイル内の変数($n)に値を渡す |
clear |
現在スクリーンに表示されている内容を全消去 |
exit |
GNUPLOT を終了 |
fit |
最小二乗法によるデータの補間 |
help |
ヘルプビューアを軌道 |
if |
条件分岐命令 |
load |
スクリプトファイルの読み込み |
pause |
GNUPLOT の動作を一時停止 |
plot |
グラフの描画 |
print |
変数の内容などの表示 |
pwd |
現在の作業ディレクトリ名を表示 |
quit |
GNUPLOT の終了 |
replot |
前に実行した plot コマンドを再実行 |
reread |
load コマンドで読み込んだスクリプトファイルの再読込 |
reset |
set コマンドで設定したオプションをすべてデフォルトの値に戻す |
save |
ユーザ定義関数やグラフの数値,使用オプションをファイルに保存 |
set |
各種オプションの設定 |
show |
現在の設定内容の表示 |
shell |
シェルの起動 |
splot |
3次元グラフの描画 |
test |
使用可能な線種や点種などをすべて表示 |
update |
fit コマンドで用いるパラメータファイルの更新 |
gnuplotでは設定のコマンド(
set)に引き続き設定項目を記述すると,きめ細かな設
定が可能である.設定は
setコマンドを使い,現在の設定を見るためには,
show
allを使う.デフォルトの設定に戻すには,
restコマンドをつかう.表
4に設定可能なものを示すが,詳細は
helpコマンド,あるい
はwebを調べよ.
表 4:
gnuplotのコマンドの一覧.文献 [2]を参考に作成.
angles |
角度の単位 |
missing |
欠けているデータ |
x2label |
軸のラベル |
arrow |
矢印 |
mouse |
マウス |
x2mtics |
軸目盛りを月 |
autoscale |
scaleの自動設定軸 |
multiplot |
複数のグラフ描画 |
x2range |
軸の最大値/最小値 |
bars |
誤差棒の先 |
mx2tics |
軸の小目盛 |
x2tics |
軸の大目盛 |
bmargin |
下の余白 |
mxtics |
軸の小目盛 |
x2zeroaxis |
ゼロ軸の表示/非表示 |
border |
境界(軸,枠) |
my2tics |
軸の小目盛 |
xdata |
データ型が日時 |
boxwidth |
箱の幅 |
mytics |
軸の小目盛 |
xdtics |
軸目盛りを曜日 |
cbdata |
|
mztics |
軸の小目盛 |
xlabel |
軸のラベル |
cbdtics |
|
offsets |
描画素領域 |
xmtics |
軸目盛りを月 |
cblabel |
|
origin |
原点の位置 |
xrange |
軸の最大値/最小値 |
cbmtics |
|
output |
ファイル/デバイス |
xtics |
軸の大目盛 |
cbrange |
|
palette |
|
xzeroaxis |
ゼロ軸の表示/非表示 |
cbtics |
|
parametric |
媒介変数の使用 |
y2data |
データ型が日時 |
clabel |
等高線の凡例 |
pm3d |
3次元カラー |
y2dtics |
軸目盛りを曜日 |
clip |
枠付近のデータ制御 |
pointsize |
記号の大きさ |
y2label |
軸のラベル |
cntrparam |
等高線の制御 |
polar |
極座標表示 |
y2mtics |
軸目盛りを月 |
colorbox |
|
print |
リダイレクト先 |
y2range |
軸の最大値/最小値 |
contour |
等高線の表示 |
rmargin |
右の余白 |
y2tics |
軸の大目盛 |
datafile |
データファイル設定 |
rrange |
軸の最大値/最小値 |
y2zeroaxis |
ゼロ軸の表示/非表示 |
date_specifiers |
日時のフォーマット |
samples |
サンプル数 |
ydata |
データ型が日時 |
decimalsign |
|
size |
図の大きさ |
ydtics |
軸目盛りを曜日 |
dgrid3d |
3次元データを格子 |
style |
プロットスタイル |
ylabel |
軸のラベル |
dummy |
独立変数の変更 |
surface |
3次元表示の面 |
ymtics |
軸目盛りを月 |
encoding |
文字コード |
term |
ターミナルの設定 |
yrange |
軸の最大値/最小値 |
fit |
フィッティング |
terminal |
ターミナルの設定 |
ytics |
軸の大目盛 |
fontpath |
フォントのパス |
tics |
目盛の向き |
yzeroaxis |
ゼロ軸の表示/非表示 |
format |
軸の数字の書式 |
ticscale |
目盛の長さ |
zdata |
データ型が日時 |
grid |
格子を描く |
ticslevel |
splotの面間隔 |
zdtics |
軸目盛りを曜日 |
hidden3d |
隠線処理 |
time |
プロットの日時 |
zero |
ゼロの敷居値 |
historysize |
|
time_specifiers |
日時のフォーマット |
zeroaxis |
ゼロ軸の表示/非表示 |
isosamples |
3次元の線の数 |
timefmt |
日時のフォーマット |
zlabel |
軸のラベル |
key |
凡例 |
timestamp |
プロットの日時 |
zmtics |
軸目盛りを月 |
label |
任意のラベル |
title |
図のタイトル |
zrange |
軸の最大値/最小値 |
lmargin |
左の余白 |
tmargin |
上の余白 |
ztics |
軸の大目盛 |
loadpath |
パス |
trange |
軸の最大値/最小値 |
|
|
locale |
ロケール設定 |
urange |
軸の最大値/最小値 |
|
|
log |
プロット |
view |
3次元表示の視点 |
|
|
logscale |
対数軸 |
vrange |
軸の最大値/最小値 |
|
|
mapping |
3次元の座標系 |
x2data |
データ型が日時 |
|
|
margin |
外側の余白 |
x2dtics |
軸目盛りを曜日 |
|
|
1 #include <stdio.h>
2 #include <math.h>
3 #define NX 720
4
5 int main(void){
6 FILE *gp;
7 int i;
8 double dx, x[NX+1], y1[NX+1], y2[NX+1], y3[NX+1];
9
10
11
12 /* ---- データ作成 ---- */
13 dx=4*M_PI/NX;
14 for(i=0; i<=NX; i++){
15 x[i]=-2*M_PI+i*dx;
16 y1[i]=sin(x[i]);
17 y2[i]=cos(x[i]);
18 y3[i]=tan(x[i]);
19 }
20
21
22
23 /* ---- グラフ作成の準備 ---- */
24 gp = popen("gnuplot -persist","w");
25 fprintf(gp, "set xrange [-6.5:6.5]\n");
26 fprintf(gp, "set yrange [-1.5:1.5]\n");
27 fprintf(gp, "plot '-' with lines linetype 1 title \"sin\",\
28 '-' with lines linetype 2 title \"cos\",\
29 '-' with lines linetype 3 title \"tan\"\n");
30
31 /* ---- 最初のデータ(sin)の書き込み ---- */
32 for(i=0; i<=NX; i++){
33 fprintf(gp,"%f\t%f\n", x[i], y1[i]);
34 }
35 fprintf(gp,"e\n");
36
37 /* ---- 2番目のデータ(cos)の書き込み ---- */
38 for(i=0; i<=NX; i++){
39 fprintf(gp,"%f\t%f\n", x[i], y2[i]);
40 }
41 fprintf(gp,"e\n");
42
43 /* ---- 3番目のデータ(tan)の書き込み ---- */
44 for(i=0; i<=NX; i++){
45 fprintf(gp,"%f\t%f\n", x[i], y3[i]);
46 }
47 fprintf(gp,"e\n");
48
49
50 pclose(gp);
51
52 return 0;
53 }
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成18年7月4日