gnuplotとは、グラフ描写用のアプリケーションです。C言語と連携させると便利です。
(Gnuplot is a command-driven interactive plotting program.)
下記のサイトよりgnupot のソースコートをダウンロードする
http://sourceforge.net/projects/gnuplot/files/gnuplot/4.6.1/
# カレントディレクトリにソースコードをおいておいて、以下のコードを実行
$ tar xzvf gnupot-4.6.2.tar.gz
$ cd gnuplot-4.6.2
$ ./configure
$ make
$ sudo make install
#テスト
$ gnuplot
> plot x * x
ウィーン大学で生命科学者をしている今鉄男と申します。生命の尊さ、美しさがどのようなメカニズムで生じるのかに興味があります。科学の方法論を用いて、このような問いに応えたい、私はこう思って医学生物学の基礎研究のトレーニングを受けてきました。生命を科学的手法を用いて理解を試みる上で、genomeを始めとした種々の大量データの処理が必要不可欠であることを痛感しました。また、生命科学が物理学、数学、統計学、有機化学などの種々の学問と深い関わりを持つことを実感しました。そのため、このブログは広範囲の学問領域に関しての記事を載せています。日々の学習内容を文書に書き残し、それを読み返すことによって、体系化された知識を身に付けることを目標としています。どうぞよろしくお願いします。
Maclaurin's expansion
y = e^xの原点の周りに関するテイラー展開をMaclaurin's expansionといいます。
以下の数式をR のプログラムとして実装します。
%maclaurin.tex
\documentclass{jsarticle}
\begin{document}
Maclaurin's expansion
\begin{eqnarray}
y = 1 \\
y = 1 + x \\
y = 1 + x + \frac{1}{2}x^2 \\
y = 1 + x + \frac{1}{2}x^2 + \frac{1}{6}x^3 \\
y = 1 + x + \frac{1}{2}x^2 + \frac{1}{6}x^3 + \frac{1}{24}x^4 \\
y = 1 + x + \frac{1}{2}x^2 + \frac{1}{6}x^3 + \frac{1}{24}x^4 + \frac{1}{120}x^5
\end{eqnarray}
\pagestyle{empty}
\end{document}
$ platex maclaurin.tex
$ dvipng -D 500 -T tight maclaurin.dvi
今回は、5次までの展開を行い、Rで描写を行います。
以下の数式をR のプログラムとして実装します。
%maclaurin.tex
\documentclass{jsarticle}
\begin{document}
Maclaurin's expansion
\begin{eqnarray}
y = 1 \\
y = 1 + x \\
y = 1 + x + \frac{1}{2}x^2 \\
y = 1 + x + \frac{1}{2}x^2 + \frac{1}{6}x^3 \\
y = 1 + x + \frac{1}{2}x^2 + \frac{1}{6}x^3 + \frac{1}{24}x^4 \\
y = 1 + x + \frac{1}{2}x^2 + \frac{1}{6}x^3 + \frac{1}{24}x^4 + \frac{1}{120}x^5
\end{eqnarray}
\pagestyle{empty}
\end{document}
$ platex maclaurin.tex
$ dvipng -D 500 -T tight maclaurin.dvi
$ R
> source("./command.in")
## command.in ###
# Maclaurin's expansion
png("121024_Maclaurin's expansion.png")
curve(exp(x) , col="black" , ylim=c(0,2), xlim=c(-3,1), ylab="y",xlab="x")
curve(x * 0 + 1 , col="pink", ylim=c(0,1) , add=T )
curve(1 + x , , add = T, col="red" )
curve(1 + x + x^2/2 , , add = T, col="yellow" )
curve(1 + x + x^2/2 + x^3/6,, add = T, col="green" )
curve(1 + x + x^2/2 + x^3/6 + x^4/24, add = T, col="green" )
curve(1 + x + x^2/2 + x^3/6 + x^4/24 + x^5/120, add = T, col="purple" )
abline(h=1, lty=2)
abline(v=0, lty=2)
dev.off()
##################
TeXworks、TeXShopの紹介
texで数式を文中に含む文書を書くとき、どうしてもスクリプトを書くのとコンパイルの作業の行き来が面倒です。
#TeXworks
そこで、TeXworksやTeXShopを用いると、簡単にtexのファイルをコンパイルしてpdfファイルにすることができます。
スクリプトの修正も迅速にできます。
#TeXworks
snow leopard に scilabをインストール
scilabのホームページからsnow leopard用のバイナリファイルをダウンロードしてきてGUIにてインストールすればよい。
http://www.scilab.org/products/scilab/download
インストールするだけでは、パスが通らないので、aliasの設定をしておくとよい。
$ alias scilab="/Applications/scilab-5.3.3.app/Contents/MacOS/bin/scilab" >> ~/.bash_profile
http://www.scilab.org/products/scilab/download
インストールするだけでは、パスが通らないので、aliasの設定をしておくとよい。
$ alias scilab="/Applications/scilab-5.3.3.app/Contents/MacOS/bin/scilab" >> ~/.bash_profile
ただし、ターミナルから呼び出しても、独自にscilab用のターミナルが開いてくることに注意です。RのようにGUIとCUI用の両方が用意されているわけではないようです。
Macに標準搭載のgrapherがグラフの作図に大変便利です。
grapherというmacに標準でインストールされているソフトをご存知ですか。
僕は知りませんでした。これまで、Rやgnuplotなどで関数の作図は行ってきましたが、grapherを使うと、簡単な数式のグラフなら圧倒的に早いです。それに、軸の2D, 3Dも自由自在です。
スクリーンショットは以下。
僕は知りませんでした。これまで、Rやgnuplotなどで関数の作図は行ってきましたが、grapherを使うと、簡単な数式のグラフなら圧倒的に早いです。それに、軸の2D, 3Dも自由自在です。
スクリーンショットは以下。
3D座標系でのサンプル
電子回路図を描く
今回は、回路図を簡単に作図できるオープンソースのソフトウェアを詳解します。
その名もBSch
水魚堂さんが配布されています。
http://www.suigyodo.com/
Mac OS X用にコンパイルされたバージョンは、以下のサイトから飛ぶことができます。
Sork Lab
http://storklab.cyber-ninja.jp/index.html
ダウンロードしたら、qtbsch3vのアイコンをクリックするとアプリケーションが立ち上がります。
最初に行うことは、ライブラリの登録です。これを行わないと、抵抗などの一般的な部品を回路に挿入できません。
スクリーンショットは以下。
フィギアとしてはこんなものが簡単に作成できました。
その名もBSch
水魚堂さんが配布されています。
http://www.suigyodo.com/
Mac OS X用にコンパイルされたバージョンは、以下のサイトから飛ぶことができます。
Sork Lab
http://storklab.cyber-ninja.jp/index.html
ダウンロードしたら、qtbsch3vのアイコンをクリックするとアプリケーションが立ち上がります。
最初に行うことは、ライブラリの登録です。これを行わないと、抵抗などの一般的な部品を回路に挿入できません。
スクリーンショットは以下。
フィギアとしてはこんなものが簡単に作成できました。
外積の成分表示と行列式を用いた表記
% bm package tex
\documentclass{jarticle}
\usepackage{bm}
\begin{document}
Definition of Cross product
\begin{eqnarray}
\bm{c} = \bm{a} \times \bm{b}= ( |\bm{a}||\bm{b}| sin \theta)\bm{e}
\end{eqnarray}
Unit vector for $x,y,z$ axis : $\bm{i},\bm{j},\bm{k}$
\begin{eqnarray}
\bm{i} \times \bm{i} = 0,\ \bm{j} \times \bm{j} = 0,\ \bm{k} \times \bm{k} = 0\\
\bm{i} \times \bm{j} = \bm{k},\ \bm{j} \times \bm{k} = \bm{i},\ \bm{k} \times \bm{i} = \bm{j}\\
\bm{j} \times \bm{i} = -\bm{k},\ \bm{k} \times \bm{j} = -\bm{i},\ \bm{i} \times \bm{k} = -\bm{j}
\end{eqnarray}
Elements of cross product
\begin{eqnarray}
\lefteqn{\bm{a} \times \bm{b} }\nonumber \\
&= &(a_x\bm{i} + a_y\bm{j} + a_z\bm{k}) \times (b_x\bm{i} + b_y\bm{j} + a_z\bm{k}) \nonumber \\
&=&(a_y a_z - a_z b_y)\bm{i} + (a_z b_x - a_x b_z)\bm{j} + (a_x b_y - a_y b_x)\bm{k}
\end{eqnarray}
Cross product using vector determinant
\begin{eqnarray}
\bm{a} \times \bm{b} =\left| \begin{array}{ccc}
\bm{i} & \bm{j} & \bm{k} \\
a_x & a_y & a_z \\
b_x & b_y & b_z
\end{array} \right|
\end{eqnarray}
\pagestyle{empty}
\end{document}
bmパッケージを用いて太字イタリックのベクトル表記
platexをインストールするとデフォルトでインストールされるbmというパッケージを用いればOK。
ソースコードの頭に \usepackage{bm}と入れれば、数式内で\bm{}とき記述するだけでお望みのベクトルが作成できます。
#ソースコードを編集
$ vim bold.tex
% bm package tex
\documentclass{jarticle}
\usepackage{bm}
\begin{document}
Commutative law
\begin{eqnarray}
\bm{a} + \bm{b}= \bm{b} + \bm{a}
\end{eqnarray}
Associative law
\begin{eqnarray}
\bm{a} + (\bm{b} + \bm{c})= (\bm{a} + \bm{b}) + \bm{c}
\end{eqnarray}
Distributive law
\begin{eqnarray}
k(\bm{a} + \bm{b})= k\bm{a} + k\bm{b}
\end{eqnarray}
\pagestyle{empty}
\end{document}
bold.tex (END)
#コンパイル
$ platex bold.tex
#pngへ変換
$ dvipng -D 500 -T tight bold.dvi
ニュートンの第2法則
第一法則では、質点の速度ベクトルに何らかの変化が認めたならば、力が作用したと解釈する。これは力の定性的な定義として考えることができる。
第二法則では、運動量の変化を力としてより定量的に定義を行っている。
この流れからわかるよに、第2法則は力の定義という意味合いだけでなく、既知の力のもとで質点の運動を予測する方程式としての意味も持ってくるのである。
ちなみにm=constの前提は、ロッケトが燃料を消費して飛び立つ時などは成り立たちません。l
%text.tex
\documentclass{jsarticle}
\begin{document}
Momentum
\begin{eqnarray}
\mbox{\boldmath$p$} \equiv m \mbox{\boldmath$v$}
\end{eqnarray}
Equation of motion
\begin{eqnarray}
\frac{d \mbox{\boldmath$p$}}{dx}=\mbox{\boldmath$F$}\\
m \frac{d \mbox{\boldmath$v$}}{dt}+ \frac{dm}{dt}\mbox{\boldmath$v$}=\mbox{\boldmath$F$}
\end{eqnarray}
We assume that Mass dose not depend on Time. (m = const)
\begin{eqnarray}
m \frac{d \mbox{\boldmath$v$}}{dt}=\mbox{\boldmath$F$}\\
m \frac{d^2 \mbox{\boldmath$r$}(t)}{dt^2}=\mbox{\boldmath$F$}
\end{eqnarray}
The initial conditions are needed to solve this equation.
\begin{eqnarray}
\mbox{\boldmath$r$} = \mbox{\boldmath$r_{0}$},\frac{d\mbox{\boldmath$r$}}{dt} = \mbox{\boldmath$v_{0}$}(t = t_{0})
\end{eqnarray}
or
\begin{eqnarray}
\mbox{\boldmath$r$} = \mbox{\boldmath$r_{1}$}(t = t_{1}), \mbox{\boldmath$r$} = \mbox{\boldmath$r_{2}$}(t = t_{2}),
\end{eqnarray}
Given the place and velocity, we solve the equation uniquely.
These are the law of cause and effect in classical mechanics.
\pagestyle{empty}
\end{document}
ニュートンの運動の3法則
藤原邦男先生の「物理学序論としての力学」に記載されている運動の3法則をメモしておく。
法則1
すべての質点はそれに加えられた力によってその状態が変化させられない限り、静止あるいは1直線上の等速運動の状態を続ける。
法則2
質点の運動量(=質量×速度)の変化は、加えられた力の方向にそって起こり、かつ、微小時間内における運動量の単位時間あたりの変化の大きさは、加えられた力の大きさに等しい。
法則3
すべての作用に大して、等しく、かつ繁体向きの反作用が常に存在する。すなわち、お互いに働き合う2つの質点の相互作用は常に相等しく、かつ反対方向へと向かう。
英語だと以下。
$ vim text.tex
\documentclass{jsarticle}
\begin{document}
Newton's Three Laws of Motion
\begin{enumerate}
\item Every object in a state of uniform motion tends to remain in that state of motion unless an external force is applied to it.
Probability density function
\item The relationship between an object's mass m, its acceleration a, and the applied force F is F = ma. Acceleration and force are vectors (as indicated by their symbols being displayed in slant bold font); in this law the direction of the force vector is the same as the direction of the acceleration vector.
\item For every action there is an equal and opposite reaction.
\end{enumerate}
\pagestyle{empty}
\end{document}
法則1
すべての質点はそれに加えられた力によってその状態が変化させられない限り、静止あるいは1直線上の等速運動の状態を続ける。
法則2
質点の運動量(=質量×速度)の変化は、加えられた力の方向にそって起こり、かつ、微小時間内における運動量の単位時間あたりの変化の大きさは、加えられた力の大きさに等しい。
法則3
すべての作用に大して、等しく、かつ繁体向きの反作用が常に存在する。すなわち、お互いに働き合う2つの質点の相互作用は常に相等しく、かつ反対方向へと向かう。
英語だと以下。
$ vim text.tex
\documentclass{jsarticle}
\begin{document}
Newton's Three Laws of Motion
\begin{enumerate}
\item Every object in a state of uniform motion tends to remain in that state of motion unless an external force is applied to it.
Probability density function
\item The relationship between an object's mass m, its acceleration a, and the applied force F is F = ma. Acceleration and force are vectors (as indicated by their symbols being displayed in slant bold font); in this law the direction of the force vector is the same as the direction of the acceleration vector.
\item For every action there is an equal and opposite reaction.
\end{enumerate}
\pagestyle{empty}
\end{document}
$ platex text.tex
$ dvipng -D 500 -T tight text.tex
運動方程式を題材にしてplatexによる数式のフィギアを作る。
○基本形は下
\documentclass{jsarticle}
\begin{document}
%コメントをここに入れる
\pagestyle{empty}
\end{document}
○改行して数式を入れる
\documentclass{jsarticle}
\begin{document}
\[%ここに数式 \]
\pagestyle{empty}
\end{document}
○太字斜体でベクトルを表記する
\mbox{\boldmath $a$}
○時間微分
\dot a
○二階の時間微分
\ddot a
○コンパイル
$ platex hoge.tex
○dviをpngに変換
$ dvipng -T tight hoge.dvi
それでは、いよいよニュートンの運動方程式をtexで作成してみます。
$ vim newton.tex
% newton.tex
\documentclass{jsarticle}
\begin{document}
\[ m\frac{d^2\mbox{\boldmath $r$}}{dt^2}= \mbox{\boldmath $F$} \]
\pagestyle{empty}
\end{document}
$ platex newton.tex
$ dvipng -T tight newton.dvi
登録:
投稿 (Atom)











