はじめに
卒論に使う際のTEXの超基本を2分で読めるくらい短くさっと押さえておこう。
TEXで一番しんどいのは導入だが、以下の記事を使えば1分ほどで導入できる。
1変数関数をグラフに表す
コマンドプロンプトで
$ gnuplot
とすれば、gnuplotを開くことができる。
例えば、sin(x)を書いてみようか。
gnuplot> plot sin(x)
TEXで使うために...
さて、TEXで画像を貼り付ける際はepsファイルにする必要があるので、そこも含めて見ていこう。
次のコードでファイル作成+軸ラベルの名付け+グラフ記述までできる。難しくないので一行一行実行してみてほしい。
途中でている数式は次のような複雑な関数を得るためのコードである。(sin(x)の例だけしかみてないと応用できないため。)
gnuplot> set terminal postscript eps enhanced color
gnuplot> set output 'mx.eps'
gnuplot> set xlabel 't'
gnuplot> set ylabel 'my'
gnuplot> plot cos(x)/(sqrt(2)*cosh(0.1*x)+sinh(0.1*x)) with line
1行目:eps形式で出力するよ宣言。enhanced colorといれると紫色の線で出力される。コピペでおk
2行目: "set output 'ファイル名.eps' " でファイルが生成される。
3行目:横軸のラベルをどうするか。
4行目:縦軸のラベルをどうするか
5行目:複雑な関数でも地道に打ち込むべし。(物理学やるなら無次元化をお忘れなく)
パラメータ表示をする(3次元)
次のように3次元の関数を書きたければ次のようにする。
plotするのは関数のみならず、datファイルでも良い!気にしなくて良いんだ!
以下では事前に作成してあったdatファイル(5000行、3列の数値データ)を使った。
gnuplot> set parametric
gnuplot> set output 'mxmymz.eps'
gnuplot> set xlabel "mx"
gnuplot> set ylabel "my"
gnuplot> set zlabel "mz"
gnuplot> set terminal postscript eps enhanced color
gnuplot> splot "mxmymz.dat" with line
1行目:パラメータ表示の時はコレを使う
7行目: 3次元の描写をしたければ splot を使う。
関数の時のパラメータ表示
上記ではdatファイルを使ったが、心配症の人のためにdatファイルではなく関数での書き方も一応みておこうか
(物理が気になる人。以下はLLG方程式の解析解のパラメータ表示である。)
gnuplot> set parametric
gnuplot> set output 'mxmymz.eps'
gnuplot> set xlabel "mx"
gnuplot> set ylabel "my"
gnuplot> set zlabel "mz"
gnuplot> set terminal postscript eps enhanced color
gnuplot> splot cos(u)/(sqrt(2)*cosh(0.1*u)+sinh(0.1*u)), sin(u)/(sqrt(2)*cosh(0.1*u)+sinh(0.1*u)), (1+sqrt(2)*tanh(0.1*u))/(sqrt(2)+tanh(0.1*u)) with line
datのやり方との違いは一番下の行だけである。
** splot 関数, 関数, 関数 with line ** でOK!
表示結果は...
あれ。なにか短くない?
伸ばしてみようか。
実は、gnuplotは各点と点の間の線は自動で計算してくれているのだが、点が少なすぎるとこんな風にちゃんとしたデータが生じなくなってしまう。
次のようにしよう
gnuplot> set samples 5000
gnuplot> splot [0:1000] cos(u)/(sqrt(2)*cosh(0.1*u)+sinh(0.1*u)), sin(u)/(sqrt(2)*cosh(0.1*u)+sinh(0.1*u)), (1+sqrt(2)*tanh(0.1*u))/(sqrt(2)+tanh(0.1*u)) with line