医療系の仕事をしています。生命の尊さ、美しさがどのようなメカニズムで生じるのかに興味があります。科学の方法論を用いて、このような問いに応えたい、私はこう思って医学生物学の基礎研究のトレーニングを受けてきました。生命を科学的手法を用いて理解を試みる上で、genomeを始めとした種々の大量データの処理が必要不可欠であることを痛感しました。また、生命科学が物理学、数学、統計学、有機化学などの種々の学問と深い関わりを持つことを実感しました。そのため、このブログは広範囲の学問領域に関しての記事を載せています。日々の学習内容を文書に書き残し、それを読み返すことによって、体系化された知識を身に付けることを目標としています。どうぞよろしくお願いします。
二つの正規母集団の母平均の差の信頼係数1-aの信頼区間を求める
%formula.tex
\documentclass{jsarticle}
\usepackage{amsmath}
\begin{document}
\title{\TeX 母平均の差の信頼区間}
\author{kappa}
\date{Sunday September 30}
\maketitle
確率変数 $X$, $Y$ に関して以下の条件を前提にする。\\
%align requires amsmath package.
\begin{align}
X \stackrel{}{\sim} N(\mu_1, \sigma _2 ^2) \\
Y \stackrel{}{\sim} N(\mu_2, \sigma _2 ^2)
\end{align}
いまから、母平均の差$\mu_1 - \mu_2$の信頼区間について考える。\\
母分散が等しいとは仮定できるとすると、\\
\begin{align}
\sigma_1^2 = \sigma_2^2 = \sigma^2
\end{align}
母分散が共通の二つの標本を合併したものから、合併した分散(pooled variance):$s$を定義する。\\
\begin{align}
s^2 = \frac{\sum_{i=1}^m (X_i - \bar X)^2 + (Y_i - \bar Y)^2}{m + n - 2}\notag \\
= \frac{(m-1)s_1^2 + (n-1)s_2^2}{m + n - 2}
\end{align}
二標本を標準化すると
\begin{align}
Z = \frac{(X - Y) -(\mu_1 - \mu_2)}{\sqrt{(\frac{1}{m} + \frac{1}{n})\sigma^2}}\\
Z \stackrel{}{\sim} N(1, 0)
\end{align}
二標本のt統計量は
\begin{align}
t = \frac{Z}{\sqrt{s^2/\sigma^2}}\\
= \frac{(X - Y) -(\mu_1 - \mu_2)}{s \sqrt{\frac{1}{m} + \frac{1}{n}}}\\
t \stackrel{}{\sim} t(m + n - 2)
\end{align}
したがって、
\begin{align}
P(-t_{\alpha / 2} (m + n - 2) \leq \frac{(X - Y) -(\mu_1 - \mu_2)}{s \sqrt{\frac{1}{m} + \frac{1}{n}}} \leq P(-t_{\alpha / 2} (m + n - 2))
= 1 - \alpha
\end{align}
となる。差$\mu_1 - \mu_2$に関して解くと、信頼係数$1-\alpha$の信頼区間は
\begin{align}
[\bar X - \bar Y - t_{\alpha/2}(m + n - 2) s \sqrt{\frac{1}{m}} , \bar X - \bar Y + t_{\alpha/2}(m + n - 2) s \sqrt{\frac{1}{m}} ]
\end{align}
差$\mu_1 - \mu_2$の$1-\alpha$の信頼区間が0を含まない時、二群の母平均に有意差があるといえる。
\end{document}
platexによる数式集
platexを用いて少し体裁の整った数式集を作ってみました。
以下にスクリプトも記述しておきます。
$ vim formula.tex
%formula.tex
\documentclass{jsarticle}
\usepackage{amsmath}
\begin{document}
\title{\TeX による数式集}
\author{kappa}
\date{Friday September 28}
\maketitle
\begin{enumerate}
\item
\begin{verbatim}
\[ \sum_{k=1}^5 a_k = a_1 + a_2 + a_3 + a_4 + a_5 \]
\end{verbatim}
\[ \sum_{k=1}^5 a_k = a_1 + a_2 + a_3 + a_4 + a_5 \]
\item
\begin{verbatim}
\[ y=\frac{1}{1-x} \]
\end{verbatim}
\[ y=\frac{1}{1-x} \]
\item
\begin{verbatim}
\[ A = \left(
\[ \begin{array}{@{\,}cccc@{\,}}
a_{11} & a_{12} & \ldots & a_{1n} \\
a_{21} & a_{22} & \ldots & a_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{m1} & a_{m2} & \ldots & a_{mn} \\
\end{array}
\right) ]\
\end{verbatim}
\[ A = \left(
\begin{array}{@{\,}cccc@{\,}}
a_{11} & a_{12} & \ldots & a_{1n} \\
a_{21} & a_{22} & \ldots & a_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{m1} & a_{m2} & \ldots & a_{mn} \\
\end{array}
\right) \]
\item
\begin{verbatim}
% requiring "usepackage{amsmath}" at the head of the script
\[ A = \begin{pmatrix}
a_{11} & a_{12} & \ldots & a_{1n} \\
a_{21} & a_{22} & \ldots & a_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{m1} & a_{m2} & \ldots & a_{mn} \\
\end{pmatrix} \]
\end{verbatim}
\[ A = \begin{pmatrix}
a_{11} & a_{12} & \ldots & a_{1n} \\
a_{21} & a_{22} & \ldots & a_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{m1} & a_{m2} & \ldots & a_{mn} \\
\end{pmatrix} \]
\end{enumerate}
\end{document}
$ platex formula.tex
$ dvipdfm formula.dvi
#dvipdfmのコマンドを使用しないと、Macの場合は日本語が文字化けしてしまう。
#dvipdfmのコマンドを使用しないと、Macの場合は日本語が文字化けしてしまう。
TeXworks、TeXShopの紹介
texで数式を文中に含む文書を書くとき、どうしてもスクリプトを書くのとコンパイルの作業の行き来が面倒です。
#TeXworks
そこで、TeXworksやTeXShopを用いると、簡単にtexのファイルをコンパイルしてpdfファイルにすることができます。
スクリプトの修正も迅速にできます。
#TeXworks
カイ二乗分布と分散の推定
正規分布N(μ, σ^2)に従う母集団から、大きさnの無作為標本x1,x2, ..., xnが得られたとき、母分散σ^2の点推定量は、不偏分散Vである。
##########################
\documentclass{jarticle}
\begin{document}
Normal distribution
\begin{eqnarray}
\sigma ^2 = V = \frac{S}{n - 1} = \frac{1}{n-1}\sum_{i=1}^n (x_i - \bar{ x})^2
\end{eqnarray}
\pagestyle{empty}
\end{document}
##########################
\documentclass{jarticle}
\begin{document}
Normal distribution
\begin{eqnarray}
\sigma ^2 = V = \frac{S}{n - 1} = \frac{1}{n-1}\sum_{i=1}^n (x_i - \bar{ x})^2
\end{eqnarray}
\pagestyle{empty}
\end{document}
##########################
このσ^2の信頼区間を求めるには、S/σ^2の分布が必要になる。
標準正規分布(0, 1^2)からとられた大きさnの無作為標本x1,x2, ... , xuについて
χ^2 = x1^2 + x2^2 … + xn^2
の分布(カイの二乗)であるf(χ^2)は、
Rで描写
#カイ2乗分布
png("120927_chi.png")
curve(dchisq(x,1), from=0, to=20, lty=1, xlab="Z", ylab="Tn(Z)", ylim=c(0,0.8), main = "chi square distribution")
abline(h=0)
curve(dchisq(x,3), add=T, lty=2)
curve(dchisq(x,5), add=T, lty=5)
curve(dchisq(x,7), add=T, lty=7)
legend(x=15, y=0.8, lty=c(1,2,3,4), legend=c("n+1", "n=3", "n=5", "n=7"))
dev.off()
ここでさらに
正規分布N(μ, σ^2)に従う母集団から、大きさnの無作為標本x1,x2, ..., xnが得られたとき
は、自由度nのカイ二乗分布に従う。
同様に、母集団の平均値が不明のとき、標本平均を推定値として採用した式、
このσ^2の信頼区間を求めるには、S/σ^2の分布が必要になる。
標準正規分布(0, 1^2)からとられた大きさnの無作為標本x1,x2, ... , xuについて
χ^2 = x1^2 + x2^2 … + xn^2
の分布(カイの二乗)であるf(χ^2)は、
#################################
#カイ2乗分布
png("120927_chi.png")
curve(dchisq(x,1), from=0, to=20, lty=1, xlab="Z", ylab="Tn(Z)", ylim=c(0,0.8), main = "chi square distribution")
abline(h=0)
curve(dchisq(x,3), add=T, lty=2)
curve(dchisq(x,5), add=T, lty=5)
curve(dchisq(x,7), add=T, lty=7)
legend(x=15, y=0.8, lty=c(1,2,3,4), legend=c("n+1", "n=3", "n=5", "n=7"))
dev.off()
#################################
ここでさらに
正規分布N(μ, σ^2)に従う母集団から、大きさnの無作為標本x1,x2, ..., xnが得られたとき
は、自由度nのカイ二乗分布に従う。
同様に、母集団の平均値が不明のとき、標本平均を推定値として採用した式、
は自由度n-1のカイ二乗分布に従う。標本平均を使用した場合、自由に動きうる変数の個数が一つ減るため、自由度はn - 1n
#################################
\documentclass{jarticle}
\begin{document}
unbiased variance
\begin{eqnarray}
z = {(x_1 - \bar{\mu})^2 + (x_2 - \bar{\mu})^2 + \cdots + (x_n - \bar{\mu}^2} / \sigma ^2
\end{eqnarray}
\pagestyle{empty}
\end{document}
Normal distribution
正規分布の確率密度関数を標準偏差を0.5, 1.0, 2.0と変化させて描写します。
正規分布の確率密度関数は以下のものです。
########################
Normal distribution
\begin{eqnarray}
f(x) = \frac{1}{\sqrt{2 \pi \sigma}} e^{- \frac{(x - \mu)^2}{2 \sigma ^2} }
\end{eqnarray}
\pagestyle{empty}
\end{document}
#######################
Rのスクリプトです。
#script.R
#正規分布
png("120923_normal distribution.png")
#σ=0.5の正規分布、横軸、縦軸のラベル、縦軸の目盛,タイトル
curve(dnorm(x,0,0.5), from=-7,to=7, lty=2, xlab="x", ylab="y", ylim=c(0,0.8), main="Normal distribution")
#縦軸のベースライン
abline(h=0)
#σ=1.0の正規分布、add=T:図を重ねる
curve(dnorm(x,0,1.0),add=T, lty=1)
#σ=2.0の正規分布、add=T:図を重ねる
curve(dnorm(x,0,2.0),add=T, lty=3)
#Figure legend
legend(x=4,y=0.6,lty=c(1,2,3),legend=c("σ=1","σ=0.5","σ=2.0"))
dev.off()
$ R
> source("script.R")
q()
統計学の基本的な定義
n個のデータ x1, x2, x3, ... xnが得られたとき、これらの標本の要約を行うための種々の定義列挙します。
\documentclass{jarticle}
\begin{document}
Mean : $\bar{x}$
\begin{eqnarray}
\bar{x} = \frac{x_1 + x_2 + \cdots + x_n} {n} =\sum^n_{i=1}x_i
\end{eqnarray}
Median : $\widetilde{x}$
\begin{eqnarray}
\widetilde{x}=\left\{ \begin{array}{ll}
the \, middle \, number \\
the\, mean\, of\, the\, pair\, of\, middle\, numbers \\
\end{array} \right.
\end{eqnarray}
Sum of squares : $S$
\begin{eqnarray}
S = \sum^n_{i+1}(x_i - \widetilde{x})^2 = \sum^n_{i=1}x_i^2 -\frac{(\sum^n_{i=1}x_i)^2}{n}
\end{eqnarray}
Unbiased variance : $V$
\begin{eqnarray}
V = = S/(n-1)=\sum^n_{i+1}((x_i - \bar{x})^2)^2 / (n - 1)
\end{eqnarray}
Standard deviation : $S.D.$
\begin{eqnarray}
S.D = \sqrt{V}
\end{eqnarray}
Range : $R$
\begin{eqnarray}
R = x_{max} - x_{min}
\end{eqnarray}
quantile deviation : $Q.D$
\begin{eqnarray}
Q.D = \frac{Q_3-Q_1}{2}
\end{eqnarray}
\pagestyle{empty}
\end{document}
\documentclass{jarticle}
\begin{document}
Mean : $\bar{x}$
\begin{eqnarray}
\bar{x} = \frac{x_1 + x_2 + \cdots + x_n} {n} =\sum^n_{i=1}x_i
\end{eqnarray}
Median : $\widetilde{x}$
\begin{eqnarray}
\widetilde{x}=\left\{ \begin{array}{ll}
the \, middle \, number \\
the\, mean\, of\, the\, pair\, of\, middle\, numbers \\
\end{array} \right.
\end{eqnarray}
Sum of squares : $S$
\begin{eqnarray}
S = \sum^n_{i+1}(x_i - \widetilde{x})^2 = \sum^n_{i=1}x_i^2 -\frac{(\sum^n_{i=1}x_i)^2}{n}
\end{eqnarray}
Unbiased variance : $V$
\begin{eqnarray}
V = = S/(n-1)=\sum^n_{i+1}((x_i - \bar{x})^2)^2 / (n - 1)
\end{eqnarray}
Standard deviation : $S.D.$
\begin{eqnarray}
S.D = \sqrt{V}
\end{eqnarray}
Range : $R$
\begin{eqnarray}
R = x_{max} - x_{min}
\end{eqnarray}
quantile deviation : $Q.D$
\begin{eqnarray}
Q.D = \frac{Q_3-Q_1}{2}
\end{eqnarray}
\pagestyle{empty}
\end{document}
Macにblast+をインストール
snow leopardの環境でblast+をインストールしてみます。
#まずは、ncbiのftpサイトからバイナリファイルをダウンロードしてきます。
$ curl -O ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.2.26/ncbi-blast-2.2.26+.dmg
#インストーラーの起動
$ open ncbi-blast-2.2.26+.dmg
#データベース構築のための準備
$ mkdir ~/blast
$ cd ~/blast
$ mkdir db
$ cd db
#ncbiのftpサーバーから、zebrafishのmRNAのRefseqの情報を取得する。
$ ftp ftp.ncbi.nlm.nih.gov
#ホームディレクトリに設定ファイル(.ncbirc)を作る
$ ~/.ncbirc
; Start the section for BLAST configuration
[BLAST]
; Specifies the path where BLAST databases are installed
BLASTDB=/Users/kappa/blast/db
; Specifies the data sources to use for automatic resolution
; for sequence identifiers
DATA_LOADERS=none
; Specifies the BLAST database to use resolve protein sequences
;BLASTDB_PROT_DATA_LOADER=nr
; Specifies the BLAST database to use resolve protein sequences
;BLASTDB_NUCL_DATA_LOADER=nt
; Windowmasker settings (experimental)
[WINDOW_MASKER]
WINDOW_MASKER_PATH=/Users/kappa/blast/db/windowmasker
; end of file
#これで設定完了
#まずは、ncbiのftpサイトからバイナリファイルをダウンロードしてきます。
$ curl -O ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.2.26/ncbi-blast-2.2.26+.dmg
#インストーラーの起動
$ open ncbi-blast-2.2.26+.dmg
#データベース構築のための準備
$ mkdir ~/blast
$ cd ~/blast
$ mkdir db
$ cd db
#ncbiのftpサーバーから、zebrafishのmRNAのRefseqの情報を取得する。
$ ftp ftp.ncbi.nlm.nih.gov
# usernameはanonymous です。passwordはmail addressです。
> cd ./refseq/D_rerio/mRNA_Prot
> get zebrafish.rna.fna.gz
> quit
#ダウンロードしたファイルを解凍
$ gunzip zebrafish.rna.fna.gz
#解凍したファイルの中身を確認
$ less zebrafish.rna.fna
#データベースを作成(zebrafish.rnaとする)
$ makeblastdb -in zebrafish.rna.fna -out zebrafish.rna -dbtype nucl -hash_index
# ~/blast/dbに先ほど作成したデータベースに関係するバイナリファイルが生成しているか確認する。
a$ ls -l
total 161072
-rw-r--r-- 1 kappa staff 61601369 9 18 06:23 zebrafish.rna.fna
-rw-r--r-- 1 kappa staff 463168 9 18 23:49 zebrafish.rna.nhd
-rw-r--r-- 1 kappa staff 10816 9 18 23:49 zebrafish.rna.nhi
-rw-r--r-- 1 kappa staff 4681996 9 18 23:49 zebrafish.rna.nhr
-rw-r--r-- 1 kappa staff 340056 9 18 23:49 zebrafish.rna.nin
-rw-r--r-- 1 kappa staff 113356 9 18 23:49 zebrafish.rna.nog
-rw-r--r-- 1 kappa staff 714386 9 18 23:49 zebrafish.rna.nsd
-rw-r--r-- 1 kappa staff 14750 9 18 23:49 zebrafish.rna.nsi
-rw-r--r-- 1 kappa staff 14506797 9 18 23:49 zebrafish.rna.nsq
#ホームディレクトリに設定ファイル(.ncbirc)を作る
$ ~/.ncbirc
; Start the section for BLAST configuration
[BLAST]
; Specifies the path where BLAST databases are installed
BLASTDB=/Users/kappa/blast/db
; Specifies the data sources to use for automatic resolution
; for sequence identifiers
DATA_LOADERS=none
; Specifies the BLAST database to use resolve protein sequences
;BLASTDB_PROT_DATA_LOADER=nr
; Specifies the BLAST database to use resolve protein sequences
;BLASTDB_NUCL_DATA_LOADER=nt
; Windowmasker settings (experimental)
[WINDOW_MASKER]
WINDOW_MASKER_PATH=/Users/kappa/blast/db/windowmasker
; end of file
#これで設定完了
#tp53のmRNAの配列をblastにかけてみる。
$ head tp53.fasta
>gi|18859502|ref|NM_131327.1| Danio rerio tumor protein p53 (tp53), mRNA
GTTTAGTGGAGAGGAGGTCGGCAAAATCAATTCTTGCAAAGCAATGGCGCAAAACGACAGCCAAGAGTTC
GCGGAGCTCTGGGAGAAGAATTTGATTATTCAGCCCCCAGGTGGTGGCTCTTGCTGGGACATCATTAATG
ATGAGGAGTACTTGCCGGGATCGTTTGACCCCAATTTTTTTGAAAATGTGCTTGAAGAACAGCCTCAGCC
ATCCACTCTCCCACCAACATCCACTGTTCCGGAGACAAGCGACTATCCCGGCGATCATGGATTTAGGCTC
AGGTTCCCGCAGTCTGGCACAGCAAAATCTGTAACTTGCACTTATTCACCGGACCTGAATAAACTCTTCT
GTCAGCTGGCAAAAACTTGCCCCGTTCAAATGGTGGTGGACGTTGCCCCTCCACAGGGCTCCGTGGTTCG
AGCCACTGCCATCTATAAGAAGTCCGAGCATGTGGCTGAAGTGGTCCGCAGATGCCCCCATCATGAGCGA
ACCCCGGATGGAGATAACTTGGCGCCTGCTGGTCATTTGATAAGAGTGGAGGGCAATCAGCGAGCAAATT
ACAGGGAAGATAACATCACTTTAAGGCATAGTGTTTTTGTCCCATATGAAGCACCACAGCTTGGTGCTGA
$ head tp53.fasta
>gi|18859502|ref|NM_131327.1| Danio rerio tumor protein p53 (tp53), mRNA
GTTTAGTGGAGAGGAGGTCGGCAAAATCAATTCTTGCAAAGCAATGGCGCAAAACGACAGCCAAGAGTTC
GCGGAGCTCTGGGAGAAGAATTTGATTATTCAGCCCCCAGGTGGTGGCTCTTGCTGGGACATCATTAATG
ATGAGGAGTACTTGCCGGGATCGTTTGACCCCAATTTTTTTGAAAATGTGCTTGAAGAACAGCCTCAGCC
ATCCACTCTCCCACCAACATCCACTGTTCCGGAGACAAGCGACTATCCCGGCGATCATGGATTTAGGCTC
AGGTTCCCGCAGTCTGGCACAGCAAAATCTGTAACTTGCACTTATTCACCGGACCTGAATAAACTCTTCT
GTCAGCTGGCAAAAACTTGCCCCGTTCAAATGGTGGTGGACGTTGCCCCTCCACAGGGCTCCGTGGTTCG
AGCCACTGCCATCTATAAGAAGTCCGAGCATGTGGCTGAAGTGGTCCGCAGATGCCCCCATCATGAGCGA
ACCCCGGATGGAGATAACTTGGCGCCTGCTGGTCATTTGATAAGAGTGGAGGGCAATCAGCGAGCAAATT
ACAGGGAAGATAACATCACTTTAAGGCATAGTGTTTTTGTCCCATATGAAGCACCACAGCTTGGTGCTGA
$ blastn -db zebrafish.rna -query tp53.fasta -out blast.out
$ less blast.out
macbook air のUSキーボードで日本語入力
macbook air で snow leopard 10.6.8の状況でお話しします。
一般に、USキーボーで日本語入力するときには、command + spaceを入力しなくてはならず毎回労力が必要でした。今回は、KeyRemap4MacBookを紹介します。
http://pqrs.org/macosx/keyremap4macbook/
このアプリをインストールしさいすれば、キーボードの調整が自由自在に行うことができます。
詳しくは、下記のブログを参照してください。
http://yucomac.blog96.fc2.com/blog-entry-576.html
一般に、USキーボーで日本語入力するときには、command + spaceを入力しなくてはならず毎回労力が必要でした。今回は、KeyRemap4MacBookを紹介します。
http://pqrs.org/macosx/keyremap4macbook/
このアプリをインストールしさいすれば、キーボードの調整が自由自在に行うことができます。
詳しくは、下記のブログを参照してください。
http://yucomac.blog96.fc2.com/blog-entry-576.html
snow leopardにMacTexをインストール
MacTexのホームページから、MacTeX.pkgをダウンロード&インストールをすればOK
$ vim test.tex
\documentclass{jsarticle}
\begin{document}
こんにちは!!
\pagestyle{empty}
\end{document}
$ platex test.tex
$ dvipdfmx test.dvi
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