awk と gnuplot を用いたデータ処理
概要
awk で偶然誤差を含んだ疑似データを作成し,gnuplot
の fit を用いて理論式にあてはめます.最後に途中作成した eps 画像を gv
で表示させますから,結果を良く吟味してください.gv を終了すれば,
gnuplot で起動されたターミナルも終了します.単にグラフを作成し gv で
表示させるだけのデモもあります.
準備
awk,gnuplot(version3.6β以上),gv が動くことを前
提にしています.また,Netscape Navigator の Application 設定に以下の項
目を追加してください.awk の実行時には警告が表示されます(すなわち危険
ということです)が,仕方ないでしょう.
| 説明 | MIMEタイプ | 拡張子 | アプリケーショ
ン |
| awk script | application/awk | awk | awk -f
%s |
| gnuplot script | application/gnuplot | gp,gpl
| gnuplot %s |
また一部デモでは,ImageMagick の convert とレンダリングツール
gnuconvf
が必要です.このツールは,Gnuplot の contrib にあった,gnuconv
(Carsten Hammer 氏作)に,ver3.6β以降の term table に対応するよう松
田が手を加えたものです. なお,gnuconv gnuconv.tar.gz
(sipp3.1 を含む)は簡易ポリゴンプロセッサー(SImple Polygon
Processor) sipp3.1(現在,anonymous では接続できないようです)
を利用しています.
繰り返し(read)の応用
- 時計:秒針が0となったところで終了します.
- グラスのデータファイルの作成:最初に行っ
てください。
2つのグラスのアニメーション:
大きさの違う2つのグラスが別個に回転するアニメーションを表示します.0
から1までの疑似一様乱数発生関数randを使って,終了を判断しています.
(pm3d や OpenGL のパッチの当たったバージョンではう
まく動作しないようです)
色々な関数
-
逆関数を描く:最も簡単な方法は媒介変数を使うことです.
-
過渡現象を描く:RL直列回路に矩形波電圧を印加した場合の,初期電流と定常電流.
-
過渡現象を描く:RC積分回路に半波整流電圧を印加した場合の,初期電流と定常電流.
splot + gnuconvf
- 回転体グラスを描く:gnuplot の
term table のデータファイル "glass.dat" を作成し,gnuconvf でレ
ンダリングします.
- gnuconv のデモ:sin(x)sin(y)/x/y をレンダリングして表示します.
- mebius.gp:メビウスの輪をレンダリングして
表示します.
- mandel.gp:マンデルブロー集合図を表示しま
す.Gnuplotのデモ(surface1の最後)に含まれるもので,時間がかかりすぎて
ついEnterを押してしまって次のデモに移ってしまい,チョロッとしかみるこ
とのできない例の図です.このデモも時間がかかりますから,何回もクリックしないようにしてください.では,じっくりとお楽しみください.
- 2d.gp:波動関数のような?
- 4d.gp:4つの球がつながっています.かなり考えた作品です.
fit による実験データの理論式への当てはめ.