可視化の基礎演習
担当教員 大野概要
gnuplotの基本操作– 起動，終了– ビルトイン関数– ユーザー定義関数• 変数, 演算子
• print– 画像保存– その他
参考文献
川原稔：“gnuplotパーフェクト・マニュアル”，ソフトバンクパブリッシング株式会社

起動と終了 -1• 起動
スタートボタン→すべてのプログラム→Gnuplot(フォルダ)→gnuplot

起動と終了 -2•終了
Window内で “exit”
または”quit”とタイプ

ビルトイン関数 -1• さまざまな数学関数があらかじめ用意されている• 色々プロットしてみよう• プロットのためのコマンド– plot (2d plot)– splot (3d plot)– replot (再描画)ビルトイン関数 -2• Cosineをプロット– plot␣cos(x)⏎このWindowsを閉じるには、Windowsの上で「q」を押す
か、右上の×をクリック

ビルトイン関数 -3xe•例
sin(x), cos(x), tan(x), exp(x), besj0(x),…

0th order Bessel Function

練習 1
上記の関数を0.0≦x ≦1.0の範囲でプロットせよ

ヒント：x0～x1の範囲でプロットする方法
plot␣[x0:x1]␣cos(x)⏎ビルトイン関数 -4• replot (再描画コマンド) cos(x) をもう一度描く
gnuplot > plot␣cos(x)⏎gnuplot > replot⏎
gnuplot > plot␣cos(x)⏎gnuplot > replot␣sin(x)⏎sin(x) と cos(x) がプロットされる

練習 2
sin(x)とcos(x)を同時に描画せよビルトイン関数 -5• その他の主なビルトイン関数
abs(x) : 絶対値
log(x)
log10(x)sqrt(x) : 平方根

ユーザー定義関数 -1変数
• 変数名 = 定数(式)•例– a = 2⏎– b = 3*2⏎
– pi (π=3.14159…) はあらかじめ定義されている

ユーザー定義関数 -2
演算子
**
*/+%!
( )

a**ba*ba/ba×ba÷ba!
(1+2)*3

剰余
階乗
括弧ab

ユーザー定義関数 -3• print
printコマンドで、変数や計算結果を表示できる例
gnuplot > print␣2**8⏎
gnuplot> print␣pi⏎
gnuplot > a = 8⏎
gnuplot > print␣a!⏎

複素数{3.0,4.0} : 3.0+4.0i

gnuplot> print␣{3.0, 4.0}*{2.0, 1.0}⏎

ユーザー定義関数 -4
練習3
以下の計算結果をgnuplotで表示させよ
1.
2.
3.
4.
5.
6.

5/2
5.0/2
cos(2.0*pi)
6!

282ユーザー定義関数 -5• 関数名(引数1, …) = 式• Name of function (arg1, arg2, ..) = expression
例(Examples)𝑥 2 − 2.0𝑥 + 1.0
f(x) = x**2 – 2.0*x + 1.0
𝑥 3 + 4.0
g(x) = x**3 + 4.0h(x,y) = x**2 + 1.0*x + y**2 𝑥 2 + 𝑥 + 𝑦 2i(x) = exp(-abs(x))
𝑒 −|𝑥|
2D plot のとき、変数はx, 3D plot の時はx,yVariable ｓｈｏｕｌｄ be “x” for 2D plot, “x” and “y” for 3D plot

ユーザー定義関数 -6例gnuplot> a = 2.0⏎
gnuplot> f(x) = a*x**2 – 2.0*x + 1.0⏎
gnuplot> print␣f(3.9)⏎
23.62
gnuplot> plot␣[-2.0:2.0]␣f(x)⏎gnuplot> a=4.0⏎
gnuplot> print␣f(3.9)⏎
54.04

ユーザー定義関数 -7
練習 4
次の式をf(x), g(x)として定義し、f(x)+g(x)をプロットせよ。またf(2.4)+g(3.0)を計算せよ• f(x) = x*cos(x)+sin(2.0*x)• g(x) = exp(-0.01*x**2)*cos(x)ユーザー定義関数 -8
練習5(Exercise 5) 3D-plot
下記を実行せよ
gnuplot> h(x,y) = x**2 + 1.0*x + y**2⏎
gnuplot> splot␣h(x,y)⏎
gnuplot> splot␣[-1.0:1.0]␣[-1.0:2.0]␣h(x,y)⏎-1.0≦x≦1.0, -1.0≦y≦2.0
マウスで画像を回転できるユーザー定義関数 -9
練習 6
下記のコマンドを実行せよ
gnuplot> set␣logscale␣y⏎gnuplot> set␣xrange␣[0:10]⏎
gnuplot> plot␣exp(x)⏎対数スケール
gnuplot> replot␣exp(-2.0*x)⏎
解除：unset logscale y
他に set logscale, set logscale xなど

画像保存 -1
1. 画像を保存するためのフォルダ(gnuplot_practice)をデスクトップに作ろう

2. カレントディレクトリを"gnuplot_practice"にすると、ここに画像等が保存される

画像保存 -2
• cd, pwd 使用可能(Linuxと同じコマンド)
cd␣'z:¥desktop¥gnuplot_practice'⏎
でカレントディレクトリがgnuplot_practiceになる''（シングルクォーテーション）も忘れずに
pwdで確認

画像保存 -3
手続き
Png形式の場合
gnuplot> set␣terminal␣png⏎
gnuplot> set␣output␣'filename.png'⏎
gnuplot> replot⏎
gnuplot> set␣output⏎
ここで出力終わり

画像保存 -4
手続き
Eps形式の場合
gnuplot> set␣terminal␣postscript␣eps␣color⏎
gnuplot> set␣output␣'filename.eps'⏎
gnuplot> replot⏎
gnuplot> set␣output⏎
他に、jpeg, gif, pdfなどにも保存可能

画像保存 -5
• 出力をWindowに戻す
gnuplot> set␣terminal␣wxt⏎

Linuxだとx11Macだとqt
練習7: 練習6のグラフをpng形式で保存せよその他• save␣[option]␣'filename'– 設定などをテキストファイルで保存できる– load␣'filename'⏎ で読み込み– option• functions : ユーザー定義関数• variables : ユーザー定義変数• set : 動作設定
• なし: 上記全部+最後のplot(splot)
練習8
save 'setting' を実行し、settingファイルの中を秀丸などのエディタで見よその他• set␣xrange␣[x0:x1], set␣yrange␣[y0:y1], set␣
zrange␣[z0:z1]– x, y, zの範囲を設定できる– show xrange, show yrangeなどで設定を表示させることができる• set␣grid, unset␣grid– グリッドの表示・非表示• help– help [topics]: help plotなど• reset– 設定をすべてリセット