少し前に作った図と同等の図。
以前作った図は
HTMLのTableタグ自動的に生成するPerlのスクリプトを
駆使して実現していたんだけど、
今回はこれをOctaveで生成することに成功した。
以下、メモ的に。
Octaveの軸の設定
- 軸の設定の仕方は axis( [0 10 0 10] ) でOK。最初の二つがx軸のmin,max、後の二つがy軸のmin, max
- 3次元の場合はさらに axis( [0 10 0 10 -10 10] ) と数字を6個にすればOK。
- axis( [0 10 0 10], "square" ) とすることで、グラフが正方形になる
- squareの他に、equalとnormalがある。
- axis( [0 10 0 10], "square", "ij") とすることで、y軸の向きが反転する
- x軸の向きを変えるのはコマンドはなかった
- [h, va, na] = __plt_\get_axis_arg__("axis") とやってhを取得し、 set(h, 'xdir' , 'reverse') とやれば無理矢理 x軸の向きを反転することはできた。
Octaveの濃淡グラフ
- 今回は pcolor(0.5:1:10.5,0.5:1:10.5, matrix) とやって表示している。matrixは10x10の行列
- pcolor(x, y, matrix)
- x,yの生成にはmeshgrid関数も使える
- x, y はmeshgridで生成した行列でもベクトルのままでもどちらでもいいみたい
- 色はおそらくデフォルトだとカラーで表示される。
- colormap("default")と打つと、カラーのグラフになる
- colormap(gray)と打つとグレースケールになる(grayは関数)
- 今回のは赤が濃くなるようにしてあるが、これはRは1で固定、でGとBは1から0.11刻みで10段階に変化させたものを使用した。(3列10行の行列)
- そのような色テーブルをcolormap(red_grad)というように行列で渡せばカラースケールは変わる
参考サイト
- http://www.obihiro.ac.jp/~suzukim/masuda/octave/html/octave_137.html#SEC206
- http://www.obihiro.ac.jp/~suzukim/masuda/octave/html/octave_82.html
- http://www.network-theory.co.uk/docs/octave3/octave_158.html
- http://math.jacobs-university.de/oliver/teaching/iub/resources/octave/octave-intro/octave-intro.html
- http://velveeta.che.wisc.edu/cgi-bin/hgwebdir.cgi/octave/file/tip//scripts/plot/axis.m?rev=HEAD&content-type=text/plain
- http://www.grafickenadstavbyoctave.wz.cz/soubory/octplot/op1.7.html
- http://www.mk.ecei.tohoku.ac.jp/dsptext/manual/function.html
そのほかメモ
- Octaveであまりの計算はrem(x, y)。
- たぶんOctaveのバージョン3になってから2のころと様子が違うんだろうなと。
- __gnuplot_set__みたいな記法があったけど、たぶんもう使えない?