ラベル 物理学一般 の投稿を表示しています。 すべての投稿を表示
ラベル 物理学一般 の投稿を表示しています。 すべての投稿を表示

Mac OS X 10.6.8 にgnuplot をインストール

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

Maclaurin's expansion

y = e^xの原点の周りに関するテイラー展開をMaclaurin's expansionといいます。
今回は、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やTeXShopを用いると、簡単にtexのファイルをコンパイルしてpdfファイルにすることができます。

どちらもhttp://www.tug.org/mactex/からMacTeX をダウンロードしてインストールすれば、自動的に使用可能となります。

スクリプトの修正も迅速にできます。




#TeXworks

#TeXShop

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

ただし、ターミナルから呼び出しても、独自にscilab用のターミナルが開いてくることに注意です。RのようにGUIとCUI用の両方が用意されているわけではないようです。

Macに標準搭載のgrapherがグラフの作図に大変便利です。

grapherというmacに標準でインストールされているソフトをご存知ですか。

僕は知りませんでした。これまで、Rやgnuplotなどで関数の作図は行ってきましたが、grapherを使うと、簡単な数式のグラフなら圧倒的に早いです。それに、軸の2D, 3Dも自由自在です。
スクリーンショットは以下。


3D座標系でのサンプル


電子回路図を描く

今回は、回路図を簡単に作図できるオープンソースのソフトウェアを詳解します。

その名も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}

$ 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