2013年11月12日火曜日

Pyxplotでグラフを描く!

gnuplotにかわるdraw系のツールないかなと思ったら、Pyxplotというツールを発見!ベクター形式の図もかけるようだ。

早速、homebrewでインストールした。インストールする際に、MacTeXと同時にインストールされたghostscriptを--with-x11オプションをつけてインストールし直せといわれたので、それに従い再インストールした。

使ってみた感想はgnuplotの上位版と言えばいいのかな?
gnuplotとほとんど変わらないコマンドを用いることができるようで、ラベルやタイトルなどには$\LaTeX$のコマンドを用いることができ、きれいに図を描くことができた。

以下に試しに描いてみた図を2つ載せる。
set term png color
set output "test.png" # 図1 キャプションあり
set xlabel "$x$"
set ylabel "$y$"
plot y=150*sin(x)/x title "$y=\frac{150\sin(x)}{x}$" ,\ 
y=tan(x)/x title "$y=\frac{\tan(x)}{x}$" 
set nokey
set output "test2.png" # 図2 キャプションなし
plot y=150*sin(x)/x title,\
y=tan(x)/x title



図1 キャプションあり

図2 キャプションなし

ちなみにgnuplotで同じグラフを描いてpostscriptで出力すると以下のようになる。(図は画面キャプチャしたもの)
図3 gnuplotによるグラフ

gnuplotのほうが多少かくかくしているように見える。Pyxplotのほうが奇麗な図がかけることがわかった。

参考

2013年10月29日火曜日

gnuplotでの縦線

gnuplotで\( x = \mathrm{const.}\)の縦線の入れ方は、

set arrow from x1,y1 to x2,y2 nohead

とすればいい。そうすれば\((x_1,y_1)\)から\((x_2,y_2)\)へ伸びる線が引ける。

<< 例 >>
set xrange[0:8]
set yrange[0:8]
y=4
set arrow 1 from 4,0 to 4,8 nohead
set arrow 2 from 6,2 to 6,6 nohead lc rgb "forest-green" lw 4
plot y

2013年8月26日月曜日

Texworksのタイプセットの編集

TeXを書くときは、TeXworksを用いて書いている。 

TeXに画像を貼付けようとしたときにxbb fileがないと

!LaTeX Error: `foo.xbb' not found. Use -shell-escape option to generate automatically.

というエラーを出され困ってしまうことが多々あった。
こんなときは一度ターミナルで
extractbb foo.png
とすればxbb fileが作成され、TeXworksでもコンパイルが通る。
しかしいちいち画像のはりつけで、xbb file作成するのは面倒になってくる。そこで、xbb fileがなくてもコンパイルがTeXworksで通るように、新しいタイプセットを作ることに。

その際以下の手順で新しいタイプセットを作成できた。

1. ターミナルでtexbinへ移動
cd /usr/texbin
2.pdfplatex ファイルをコピー
cp pdfplatex pdafplatex_shellescape
3.pdfplatex_shellescapeの中身を、以下のように変更
#!/bin/sh
platex --shell-escape -synctex=1 "$1" && \ 
dvipdfmx -f otf-hiragino.map "`basename "$1" .tex`"
4.TeXworksを起動しメニューバーのTeXworksから環境設定を開く。

5.タイプセットの編集をクリック

6.名前をpdfplatex+shellescapeとして(自分の好きな名前にしてOK)、プログラムをpdfplatex_shellescapeに設定。引数に$basenameを追加してOKをおす。



























7.コンパイル時に作成したpdfplatex+shellescaoeを選択すればxbb fileがなくてもコンパイルできる!

以上の手順をふめばコンパイル時に必要なオプションを随時ついかして、オリジナルのタイプセットを使うことができるようになる。

ちなみに自分は横置きのタイプセットも作った。参考までに以下に示す。
#!/bin/sh 
platex -synctex=1 "$1" && \ >/br>
dvipdfmx -p a4 -l -f otf-hiragino.map "`basename "$1" .tex`"
使う際は
\documentclass[landscape]{jarticle}
とすれば横置きとなる。

2013年7月28日日曜日

Fortran : subroutine 内の初期値設定

Fotranを用いて、プログラムを書くときにsubroutineを用いてプログラムを書くと見通しがよくなるのでできる限り用いるようにしている。
そんなときに、subroutine内で

real(8) :: i = 0.d0

の様に初期設定をしたとしよう。このsubroutineを何回もmainプログラムでcallしたとすると、初期設定の適用は一番最初にcallされたときのみしか使えない。なので、何回もsubroutineをcallするようなプログラムを書く場合は、初期値を型宣言時に設定するのではなく、後で初期設定をすることにするとよい。

2013年7月20日土曜日

数学公式

いつも忘れがちな数学公式
どこにいてもさっと目が通せるようにしておく
随時更新していく予定

3次元ラプラシアン

(1)  デカルト座標


\[ \Delta \psi(x,y,z) = \frac{\partial^2 \psi}{\partial x^2}+\frac{\partial^2 \psi}{\partial y^2}+\frac{\partial^2 \psi}{\partial z^2} \]

(2)  円筒座標


\(x=r\cos\theta, y=r\sin\theta, z=z\) として考えると、
\begin{eqnarray*} \Delta \psi(r,\theta,z) &=& \frac{1}{r} \frac{\partial}{\partial r} \left( r \frac{\partial \psi}{\partial r} \right) + \frac{1}{r^2}\frac{\partial^2 \psi}{\partial \theta^2}+\frac{\partial^2 \psi}{\partial z^2} \\ &=& \frac{\partial^2 \psi}{\partial r^2}+\frac{1}{r} \frac{\partial \psi}{\partial r} + \frac{1}{r^2}\frac{\partial^2 \psi}{\partial \theta^2}+\frac{\partial^2 \psi}{\partial z^2} \end{eqnarray*}

(3)  極座標


\(x=r\sin\theta\cos\phi, y=r\sin\theta\sin\phi, z=r\cos\theta \) として考えると、
\begin{eqnarray*} \Delta \psi(r,\theta,\phi) &=& \frac{1}{r^2}\frac{\partial}{\partial r} \biggl ( r^2 \frac{\partial \psi}{\partial r} \biggr) +\frac{1}{r^2\sin{\theta} }\frac{\partial }{\partial \theta} \biggl (\sin{\theta}\frac{\partial \psi}{\partial \theta} \biggr ) +\frac{1}{r^2\sin^2{\theta}}\frac{\partial^2 \psi}{\partial \phi^2}\\ &=& \frac{1}{r}\frac{\partial^2}{\partial r^2} \biggl( r \psi \biggr) +\frac{1}{r^2\sin{\theta} }\frac{\partial }{\partial \theta} \biggl (\sin{\theta}\frac{\partial \psi}{\partial \theta} \biggr ) +\frac{1}{r^2\sin^2{\theta}}\frac{\partial^2 \psi}{\partial \phi^2} \\ &=&\frac{\partial^2 \psi}{\partial r^2} +\frac{2}{r}\frac{\partial \psi}{\partial r} +\frac{1}{r^2}\frac{\partial^2 \psi}{\partial \theta^2} +\frac{1}{r^2}\mathrm{cot}\theta \frac{\partial \psi}{\partial \theta} +\frac{1}{r^2\sin^2{\theta}}\frac{\partial^2 \psi}{\partial \phi^2} \end{eqnarray*}

2013年7月17日水曜日

初めてのmac

macに触れ始めて3ヶ月たった。
Windows,Linuxは使ったことあったけど、Unixは初めて。
以下に設定内容のメモを残す。




(1)  homebrew

homebrewを導入した。macに入っていないコマンドを導入できる便利ツール。
ターミナルに

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

を入力するだけ。

(2)  gfortran

fortran90/95を使うのでgfortranをhomebrewにてinstall

(3)  Python

macにデフォルトでpython入ってたけどhomebrewで入れ直してみた
(あまり意味はないかもしれないが…)

(4)  gnuplot

描画ツールで使いやすいと思っているのがこれ。
やっぱりhomebrewで導入

(5)  \(\LaTeX\)

TeX wiki を読みながら導入
ファイルが馬鹿みたいに大きかったのでネットがつながりやすいところでダウンロードするのが一番だと思う。

TEST

TEST

Mathjaxによる数式の表示(参考 : http://genkuroki.web.fc2.com )

\[ \sum_{n=1}^\infty \frac{1}{n^2} = \frac{\pi^2}{6} \tag{3} \]