Scilabでイジング模型 その4

Scilabでイジング模型 その2では一次元のイジング模型の磁区が形成されていく様子をシミュレーションしました。
今回はイジング模型のモンテカルロシミュレーションから巨視的な物理量(エネルギーや磁化など)の計算を行います。
巨視的な系のエネルギー<E>は、状態|αj>におけるエネルギーE(αj)の統計平均として以下のように表されます。

\langle E \rangle = \sum_{\alpha_j}E(\alpha_j)P(\alpha_j)
P(\alpha_{j})=\frac{1}{Z(T)}\exp\left(- \frac{E(\alpha_{j})}{kT} \right)
Z(T)=\sum_{\alpha_j}\exp\left(-\frac{E(\alpha_j)}{kT}\right)

しかしながら、実際には分配関数Z(T)を計算するのが困難であるので、P(αj)に比例した確率で|αj>が出現するようなモンテカルロシミュレーションをm回行い、その平均から

\langle E \rangle = \frac{1}{m} \sum_{t=1}^{m}E_{t}(\alpha)

のように計算を行います。


一次元イジング模型における巨視的な物理量


Scilabでイジング模型 その2では一次元のイジング模型の磁区が形成されていく様子をシミュレーションしました。
今回はイジング模型のモンテカルロシミュレーションから巨視的な物理量(エネルギーや磁化など)の計算を行います。

n粒子スピン系におけるある状態ベクトル|αj>における系のエネルギーは以下のようになることをScilabでイジング模型 その2にも書きました。

E(\alpha_{j}) = - J \sum_{i=1}^{n-1}s_{i}s_{i+1}

よってある温度Tのときの状態|αj>が決まれば、系のエネルギーが決まることになりますが、実際には一意に決まるわけではなく、ボルツマン因子exp(-E(αj)/kT))に比例した確率P(αj)で色々な状態を取り得ます。

P(\alpha_{j})=\frac{1}{Z(T)}\exp\left(- \frac{E(\alpha_{j})}{kT} \right)
Z(T)=\sum_{\alpha_j}\exp\left(-\frac{E(\alpha_j)}{kT}\right)

ここでZ(T)は分配関数と呼ばれすべての状態の和です。

ひとたび確率P(αj)が求まれば、巨視的な物理量<A>は状態|αj>における物理量A(αj)を用いて以下のようにあらわすことができます。

\langle A \rangle = \sum_{\alpha_j}A(\alpha_j)P(\alpha_j)

例えばエネルギーEの場合は以下のようになります。

\langle E \rangle = \sum_{\alpha_j}E(\alpha_j)P(\alpha_j)

しかし実際にZ(T)をすべて計算するのは不可能です。代わりにP(αj)に比例した確率で|αj>を出現させるアルゴリズムがメトロポリスのアルゴリズムでした。

そこで系の巨視的なエネルギー(等の物理量)を計算する際には、メトロポリスのアルゴリズムを複数回繰り返して得られた状態に対するエネルギーの平均を代わりに用います。m回繰り返す場合は

\langle E \rangle = \frac{1}{m} \sum_{t=1}^{m}E_{t}(\alpha)

となります。

他にも微分方程式による物理現象のモデル化(PDF)には磁化M、比熱C、磁化率χの表式が以下のように与えられています。

M(\alpha_j)=\sum_{i=1}^{n}s_i
\langle M \rangle = \frac{1}{m} \sum_{t=1}^{m}M_{t}(\alpha)

C = \frac{\langle E^2 \rangle - \langle E \rangle^2}{kT}

\chi = \frac{\langle M^2 \rangle - \langle M \rangle^2}{kT}

Scilabスクリプト


これらを踏まえたScilabスクリプトを以下に示します。

clear;

// *** 定数の設定 ***
n = 100; // 粒子の数
m = 200; // 熱力学的な平均を取る回数
J = 1; // 交換エネルギー
rand("uniform"); // 乱数は一様乱数とする
tmax = 5 * n; // 時間の最大ステップ
h = 0.0; // 外部磁場
// 温度
ktmin = 0.5; // 最低温度
ktmax = 5.0; // 最高温度
nkt = 19; // 温度の分割数
//T = linspace(ktmin, ktmax, nkt); // 低温から開始
//spin = ones(1,n); // 各粒子におけるスピン(コールドスタート)
T = linspace(ktmax, ktmin, nkt); // 高温から開始
spin = 1 - 2 * round(rand(1,n)); // 各粒子におけるスピン(ランダム)

// *** エネルギーの計算関数 ***
function e = energy(spin)
e = - J * sum(spin .* [spin(2:n), spin(1)]) - h * sum(spin);
endfunction

// *** 行列の初期化 ***
E = []; // エネルギーの和
E2 = []; // エネルギーの二乗の和
M = []; // 磁化の和
M2 = []; // 磁化の二乗の和

// *** 温度のループ ***
for kt = 1:nkt do
// エネルギーの初期化
ene1 = 0; // エネルギーの和
ene2 = 0; // エネルギーの二乗和
// 磁化の初期化
mag1 = 0; // 磁化の和
mag2 = 0; // 磁化の二乗和f
// *** 熱力学平均のループ ***
for samp = 1:m do
// *** 時間発展のループ ***
for t = 1:tmax do
oldenergy = energy(spin);
element = ceil(n * rand()); // 粒子を一つ選ぶ
spin(element) = -1 * spin(element); // スピンを反転
newenergy = energy(spin);
if (newenergy > oldenergy) & (exp((- newenergy + oldenergy) / T(kt)) < rand()) then
spin(element) = -1 * spin(element); // 棄却
end
end
ene1 = ene1 + energy(spin); // エネルギーの和
ene2 = ene2 + energy(spin)^2; // エネルギーの二乗の和
mag1 = mag1 + sum(sum(spin)); // 磁化の和
mag2 = mag2 + sum(sum(spin))^2; // 磁化の二乗和
end
E = [E, ene1 / m]; // エネルギーの和
E2 = [E2, ene2 / m]; // エネルギーの二乗の和
M = [M, mag1 / m]; // 磁化の和
M2 = [M2, mag2 / m]; // 磁化の二乗和
end

// *** エネルギーと磁化の揺らぎ ***
C = (E2 - E .^ 2) ./ (n * T .^ 2); // 比熱
X = (M2 - M .^ 2) ./ (n * T); // 磁化率

// *** 厳密解の計算 ***
// 温度ベクトル
Ta = linspace(0.1,5,50);
// 粒子1個あたりの平均エネルギー
Ea = - tanh(J ./ Ta);
// 比熱
Ca = (J ./ Ta) .^ 2 ./ cosh(J ./ Ta) .^ 2;
// 磁化
Ma = sinh(h ./ Ta) ./ sqrt(sinh(h ./ Ta) .^ 2 + exp(-4 * J ./ Ta));
// 磁化率
Xa = exp(2 * J ./ Ta) ./ Ta;
RXa = 1 ./ Xa;

// *** グラフのプロット ***
// エネルギー
subplot(2,2,1);
plot(T, E ./ n, 'or');
plot(Ta, Ea, '--g');
xlabel("kT/J");
ylabel("E/NJ");
// 比熱
subplot(2,2,2);
plot(T, C, 'or');
plot(Ta,Ca,'--g');
xlabel("kT/J");
ylabel("C/Nk");
// 磁化
subplot(2,2,3);
plot(T, M ./ n, 'or');
plot(Ta,Ma ./ n,'--g');
xlabel("kT/J");
ylabel("M/N");
// 磁化率
subplot(2,2,4);
plot(T, 1 ./ X, 'or');
plot(Ta,RXa,'--g');
xlabel("kT/J");
ylabel("N/JX");


結果はScilabでイジング模型 その1と同様になります(なので下記の画像は使いまわしです)。コードもほとんど同じです。

001_20141130214554d90.png

Fig.1: 一次元のイジングモデル


関連エントリ




参考URL




付録


このエントリで使用したScilabのシミュレーション用ファイルを添付します。ファイル名末尾の".txt"を削除して、"_"を"."に変更すれば使えるはずです。(参考:ねがてぃぶろぐの付録)


参考文献/使用機器




フィードバック



にほんブログ村 その他趣味ブログ 電子工作へ

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。

tag: Scilab 確率論 乱数 イジング模型 モンテカルロ解析 強磁性 反強磁性 

Scilabでイジング模型 その3

Scilabでイジング模型 その2では一次元のイジング模型を用いて磁区が形成されていく様子を確認しました。今回のエントリでは、二次元のイジングモデルで同様の計算をおこないます。

001_20150125120301efd.gif

Fig.1: 二次元イジング模型の時間発展。ランダムな初期状態から次第に磁区が形成されていく様子が観察できる。



二次元のイジング模型


Scilabでイジング模型 その2では計算物理学 応用編ising.cをScilabへ移植しました。今回は、このプログラムを二次元へ拡張します。

二次元の場合、スピンの向きも二次元にする(XY模型)ことも可能ですが、今回は一次元の場合と同様にスピンの向きは二つの状態しかとらないイジング模型として扱うことにします。更に相互作用する粒子は、隣接するものだけであるという仮定もそのまま使うと、主な変更点はスピンを保存する変数であるspinをベクトルから二次元の行列へと変更するところという事になります。
これに伴ってエネルギーを計算する関数も二次元へと拡張します。具体的には、列方向と行方向の両方に対してシフトと乗算を行うというだけですが。

Scilabスクリプト


二次元のイジングモデルのScilabスクリプトはising2d_sce.txtとなりました。

clear;

// *** 定数の設定 ***
n = 20; // 粒子の数
kt = 1.0; // 温度
J = 1; // 交換エネルギー (1: 強磁性, -1:反強磁性)
rand("uniform"); // 乱数は一様乱数とする
tmax = 5000; // 時間の最大ステップ

// *** 初期化 ***
// 各粒子におけるスピン
//spin = ones(n,n); // コールドスタート
spin = 1 - 2 * round(rand(n,n));

isoview(0,n,0,n)

// *** エネルギーの計算関数 ***
function e = energy(spin)
e = - J * sum(spin .* [spin(:,2:n), spin(:,1)]) - J * sum(spin .* [spin(2:n,:); spin(1,:)]);
endfunction

// *** 時間発展 ***
for t = 1:tmax do
oldenergy = energy(spin);
// 粒子を一つ選ぶ
elementx = ceil(n * rand());
elementy = ceil(n * rand());
// スピンを反転
spin(elementx,elementy) = -1 * spin(elementx,elementy);
newenergy = energy(spin);
spin(elementx, elementy) = (- 2 * ((newenergy > oldenergy) & (exp((- newenergy + oldenergy) / kt) <= rand())) + 1) * spin(elementx, elementy);
// スピン状態をプロット
Matplot((spin + 1) .* 15);
end


磁区の形成


強磁性的な相互作用を持つ系に対して、ランダムなスピンをもつ初期状態からスタートすると、終状態までに磁区が形成されていく様子を観察することができます。

002_2015012512030057b.png

003_20150125120300b77.png
Fig.2-3: 初期状態と終状態。ランダムなスピン分布をもっていた初期状態から、磁区が形成された終状態まで時間発展する。


gif動画のためのスクリプト


各時間発展サイクルで、ディスプレイにグラフを描きだす代わりに、画像出力を行うようにしておき、あとからgimpなどの画像編集ソフトを用いることでgif動画を作成することができます。ising2d-gif_sce.txt

関連エントリ




付録


このエントリで使用したScilabのシミュレーション用ファイルを添付します。ファイル名末尾の".txt"を削除して、"_"を"."に変更すれば使えるはずです。(参考:ねがてぃぶろぐの付録)


参考文献/使用機器



フィードバック



にほんブログ村 その他趣味ブログ 電子工作へ

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。

tag: Scilab 確率論 乱数 イジング模型 モンテカルロ解析 強磁性 反強磁性 

Scilabでイジング模型 その2

計算物理学 応用編ising.cをScilabへ移植しました。

001_20141201124503785.png

Fig.1: 一次元のイジングモデル。コールドスタートから磁区が発達していく様子が再現されている。(n=100, kt=1.5, J=1, tmax=1000)


その結果、交換エネルギーJの符号によって強磁性状態や反強磁性状態が安定になることが確認できました。


一次元のイジング模型


一次元のリング状に原子(磁気双極子)が等間隔で並んでいる一次元結晶を考えます。それぞれの原子がもつ磁気双極子は、三次元空間では、さまざまな方向を向く可能性がありますが、一次元空間の場合は、方向が正と負しかないので、上向きと下向きの2種類のスピンのみを考えます。するとi番目の粒子がもつスピンは+1と-1のどちらかを取るとして si = ±1 と書くことができます。

リンク状の一次元結晶にN個の原子があるとすると、一次元結晶全体のスピンの配置は

j> = |s1, s2, ..., sN>
= {±1, ±1, ... ±1} (j = 1, 2, 3, ... 2N)

という量子状態ベクトルで表すことができます。

具体的に N=3 の場合に書き下してみます。

1> = {-1, -1, -1}
2> = {-1, -1, +1}
3> = {-1, +1, -1}
4> = {-1, +1, +1}
5> = {+1, -1, -1}
6> = {+1, -1, +1}
7> = {+1, +1, -1}
8> = {+1, +1, +1}

以上のようにN=3のときには23=8種類の状態を取りうることがわかります。
イジング模型では、隣り合う原子だけが相互作用すると考えます。相互作用のパラメータをJとすると、外部磁場がない場合、ある状態αjにおけるエネルギーは

E( \alpha_j ) = - J \sum_{i=1}^{N-1}s_i s_j


この式をすべてのαjに関して計算すればよいことになります。とは言うものの、原子の数がN=3ならば状態の種類が8種類しか存在しないので、すべてを計算することも可能でしょうが、N=100などになってしまうと2100≒1.26*1030となり、とてもすべてを計算するのは現実的ではありません。このため、数値シミュレーションでは乱数を使って計算を行います。

メトロポリスのアルゴリズム


詳しいアルゴリズムの説明は計算物理学 応用編の通りですが、その中のising.cまたはising.fをScilabに移植します。

clear;

// *** 定数の設定 ***
n = 100; // 粒子の数
kt = 1.5; // 温度
J = 1; // 交換エネルギー (1: 強磁性, -1:反強磁性)
rand("uniform"); // 乱数は一様乱数とする
tmax = 1000; // 時間の最大ステップ

// *** 初期化 ***
// 各粒子におけるスピン
spin = ones(1,n); // コールドスタート
//spin = 1 - 2 * round(rand(1,n)); // 乱数スタート

// *** エネルギーの計算関数 ***
function e = energy(spin)
e = - J * sum(spin .* [spin(2:n), spin(1)]);
endfunction

SPIN = [];

// *** 時間発展 ***
for t = 1:tmax do
oldenergy = energy(spin);
element = ceil(n * rand()); // 粒子を一つ選ぶ
spin(element) = -1 * spin(element); // スピンを反転
newenergy = energy(spin);
spin(element) = (- 2 * ((newenergy > oldenergy) & (exp((- newenergy + oldenergy) / kt) <= rand())) + 1) * spin(element);
// 時刻tにおけるスピンを保存
SPIN = [SPIN;spin];
end

// *** スピンの時間変化をプロット ***
Matplot((SPIN' + 1) .* 10);
zoom_rect([0,0,tmax,n]);
xlabel("Time");
ylabel("Position");


反強磁性状態の計算


交換エネルギーを負にとると、反強磁性状態になります。

002_2014120112573532a.png
Fig.2: 反強磁性状態


関連エントリ




参考URL




付録


このエントリで使用したScilabのシミュレーション用ファイルを添付します。ファイル名末尾の".txt"を削除して、"_"を"."に変更すれば使えるはずです。(参考:ねがてぃぶろぐの付録)


参考文献/使用機器




フィードバック



にほんブログ村 その他趣味ブログ 電子工作へ

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。

tag: Scilab 確率論 乱数 イジング模型 モンテカルロ解析 強磁性 反強磁性 

Scilabでイジング模型 その1

微分方程式による物理現象のモデル化(PDF)の熱統計力学の章にある一次元イジングモデルのOctaveのプログラムをScilabへ移植しました。

001_20141130214554d90.png

Fig.1: 一次元のイジングモデル



Scilabでモンテカルロシミュレーション


常微分方程式タグを付けたエントリでは、微分方程式による物理現象のモデル化(PDF)で紹介されているOctaveによる常微分方程式のプログラムをScilabへ移植するという事を行ってきました。Scilabで乱数の生成からのいくつかのエントリでは、微分方程式による物理現象のモデル化(PDF)の熱統計力学の章に入るに際して、Scilabで楽しむ確率論(PDF)Scilabで乱数を扱う方法に触れました。

今回は、また微分方程式による物理現象のモデル化(PDF)に戻り、イジング模型のScilabシミュレーションを行います。
ただし、今回は微分方程式による物理現象のモデル化(PDF)のスクリプトを単純にScilabで実行できるように書き直しただけにしておきます。正直なところ微分方程式による物理現象のモデル化(PDF)の内容だけでは、何の計算をしているのかを理解することは困難です。おそらく元ネタと思われる計算物理学 応用編の併読が必須と思われます。

clear;

N = 200; // 粒子数
J = 1; // 交換相互作用
H = 0.0; // 外部磁界
im = [0:N - 1];
im(1) = N;
ip = [2:N + 1];
ip(N) = 1;
Neq = 5 * N;
Samp = 200;
DIV = 19;

rand("uniform"); // 乱数は一様乱数とする
spin = ones(1,N); // スピン
T = linspace(0.5,5,DIV); // 温度

// *** モンテカルロ計算 ***
for kt = 1:DIV do
// エネルギー
e1 = 0;
e2 = 0;
mag1 = 0;
mag2 = 0;
for ks = 1:Samp do
for kq = 1:Neq do
is = ceil(N * rand());
de = J * 2 * spin(is) * (spin(im(is)) + spin(ip(is)));
if de > 0 & exp(- de / T(kt)) < rand() then
spin(is) = 1 * spin(is);
else
spin(is) = -1 * spin(is);
end
end
mag1 = mag1 + sum(spin);
mag2 = mag2 + sum(spin) ^ 2;
e1 = e1 - J * (spin * [spin(2:$),spin(1)]');
e2 = e2 + (J * (spin * [spin(2:$),spin(1)]')) ^ 2;
end
M(kt) = mag1 / Samp;
M2(kt) = mag2 / Samp;
E(kt) = e1 / Samp;
E2(kt) = e2 / Samp;
X(kt) = (M2(kt) - M(kt) .^ 2) ./ T(kt) / N;
C(kt) = (E2(kt) - E(kt) .^ 2) ./ T(kt) .^ 2 / N;
end
// 磁気感受率の逆数
RX = 1 ./ X;

// *** 厳密解の計算 ***
// 温度ベクトル
Ta = linspace(0.1,5,50);
// 粒子1個あたりの平均エネルギー
Ea = - tanh(J ./ Ta);
// 比熱
Ca = (J ./ Ta) .^ 2 ./ cosh(J ./ Ta) .^ 2;
// 磁化
Ma = sinh(H ./ Ta) ./ sqrt(sinh(H ./ Ta) .^ 2 + exp(-4 * J ./ Ta));
// 磁気感受率
Xa = exp(2 * J ./ Ta) ./ Ta;
RXa = 1 ./ Xa;

// *** グラフのプロット ***
// エネルギー
subplot(2,2,1);
plot(T,E / N,'or');
plot(Ta, Ea, '--g');
xlabel("kT/J");
ylabel("E/NJ");
// 比熱
subplot(2,2,2);
plot(T,C,'or');
plot(Ta,Ca,'--g');
xlabel("kT/J");
ylabel("C/Nk");
// 磁化
subplot(2,2,3);
plot(T,M/N,'or');
plot(Ta,Ma/N,'--g');
xlabel("kT/J");
ylabel("M/N");
// 磁気感受率の逆数
subplot(2,2,4);
plot(T,RX,'or');
plot(Ta,RXa,'--g');
xlabel("kT/J");
ylabel("N/JX");


関連エントリ




参考URL




付録


このエントリで使用したScilabのシミュレーション用ファイルを添付します。ファイル名末尾の".txt"を削除して、"_"を"."に変更すれば使えるはずです。(参考:ねがてぃぶろぐの付録)


参考文献/使用機器




フィードバック



にほんブログ村 その他趣味ブログ 電子工作へ

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。

tag: Scilab 確率論 乱数 イジング模型 モンテカルロ解析 強磁性 

Scilabでブラウン運動 その3

Scilabでブラウン運動 その2では、単位時間あたりに任意の方向に距離1だけ移動するランダムウォークのスクリプトを書きました。これはScilabでブラウン運動 その1では移動できる角度が制限されていたことに対する拡張です。

今回は、さらに発展させて、単位時間あたりに移動する距離もランダムに決定するように拡張を行います。

001_20141109111602617.png
Fig.1: 一次元のランダムウォーク。各ステップでの移動距離を1に固定したもの(青)と移動距離の平均二乗変位平方根が1となるような正規分布から計算したもの(赤)。赤線は、移動距離が1よりも短いこともあれば長いこともある。



一次元のランダムウォーク


二次元から始めてもよいのですが、移動距離を固定したものとの比較が簡単なため、一次元のスクリプトも示します。
各ステップにおける移動量を乱数で与える場合、どのような乱数を使うかの選択肢がいくつかあると思いますが、今回は正規分布(ガウス関数)としました。Scilabにおいてはgrandを利用することによって正規分布に従う乱数を生成する事ができます。

clear;

// *** 計算の設定 ***
u = 1; // 1ステップの間の平均二乗変位平方根
av = 0;
tnum = 20; // 時間ステップ数
t = (0:1:tnum)'; // 時間のベクトル

// *** 位置の計算 ***
// 移動距離が正規分布に従う場合
xigauss = grand(tnum,1,'nor',av,u);
Sgauss = [0; cumsum(xigauss)];
// 移動距離が一定の場合
xifix = 2 * u * (rand(tnum,1) >= 0.5) - u;
Sfix = [0; cumsum(xifix)];

// *** グラフのプロット ***
plot(t,Sgauss,'-or');
plot(t,Sfix,'-ob');
xlabel("x position");
ylabel("y position");


二次元のランダムウォーク


二次元への拡張を行います。ソースコードを比較するなら今回の一次元のものと比較するよりもScilabでブラウン運動 その2の二次元のものと比較する方がわかりやすいです。ほとんど r=1 を r=abs(grand(1,tnum,'nor',av,u)) にしただけなので。

002_20141109111601aa4.png
Fig.2: 二次元のランダムウォーク


clear;

// *** 計算の設定 ***
u = 1; // 1ステップの間の平均二乗変位平方根
av = 0;
tnum = 10000; // 時間ステップ数
t = (0:1:tnum)'; // 時間のベクトル

// *** 位置の計算 ***
// 移動する距離
r = abs(grand(1,tnum,'nor',av,u));
// 移動する方向
theta = 2 * %pi * rand(1,tnum);
// 移動量
xi = r .* cos(theta);
yi = r .* sin(theta);
// 最終的な座標
S = [zeros(2,1), [cumsum(xi,'c'); cumsum(yi,'c')]];

// *** グラフのプロット ***
plot(S(1,:),S(2,:),'-b');
xlabel("x position");
ylabel("y position");


三次元のランダムウォーク


三次元への拡張もこれまでと全く同様です。

003_20141109111601d60.png
Fig.3: 三次元のランダムウォーク


clear;

// *** 計算の設定 ***
u = 1; // 1ステップの間の平均二乗変位平方根
av = 0;
tnum = 10000; // 時間ステップ数
t = (0:1:tnum)'; // 時間のベクトル

// *** 位置の計算 ***
// 移動する距離
r = abs(grand(1,tnum,'nor',av,u));
// 移動する方向
theta = 2 * %pi * rand(1,tnum);
phi = 2 * %pi * rand(1,tnum);
// 移動量
xi = r .* sin(theta) .* cos(phi);
yi = r .* sin(theta) .* sin(phi);
zi = r .* cos(phi);
// 最終的な座標
S = [zeros(3,1), [cumsum(xi,'c'); cumsum(yi,'c'); cumsum(zi,'c')]];

// *** グラフのプロット ***
param3d(S(1,:),S(2,:),S(3,:));
xlabel("x position");
ylabel("y position");
zlabel("z position");


関連エントリ




参考URL




付録


このエントリで使用したLTspiceのシミュレーション用ファイルを添付します。ファイル名末尾の".txt"を削除して、"_"を"."に変更すれば使えるはずです。(参考:ねがてぃぶろぐの付録)


参考文献/使用機器




フィードバック



にほんブログ村 その他趣味ブログ 電子工作へ

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。

tag: Scilab 乱数 モンテカルロ解析 確率論 ランダムウォーク 正規分布 

FC2カウンター
カテゴリ
ユーザータグ

LTspiceAkaiKKRScilabmachikaneyamaKKRPSoCCPAOPアンプPIC強磁性モンテカルロ解析常微分方程式トランジスタodeインターフェース状態密度DOSecalj定電流PDS5022スイッチング回路半導体シェルスクリプト乱数レベルシフトHP6632A温度解析ブレッドボードI2CR6452A分散関係トランジスタ技術可変抵抗確率論数値積分反強磁性セミナー非線形方程式ソルバ絶縁バンドギャップ熱設計偏微分方程式バンド構造GW近似カオス三端子レギュレータLEDフォトカプラシュミットトリガISO-I2CA/DコンバータLM358USBカレントミラーTL431マフィンティン半径PC817C数値微分アナログスイッチ発振回路サーボ直流動作点解析74HC40532ちゃんねる標準ロジックチョッパアンプLDAアセンブラFFTbzqltyイジング模型ブラべ格子開発環境補間量子力学電子負荷BSchパラメトリック解析単振り子基本並進ベクトル熱伝導繰り返しGGAMaximaTLP621ewidthSMP相対論抵抗位相図ランダムウォークスピン軌道相互作用六方最密充填構造不規則合金FETコバルト失敗談QSGWcygwinスレーターポーリング曲線スイッチト・キャパシタラプラス方程式gfortranキュリー温度状態方程式条件分岐格子比熱TLP552LM555TLP521三角波NE555過渡解析FXA-7020ZRWriter509テスタ詰め回路MCUマントルダイヤモンドQNAPデータロガーガイガー管自動計測UPS井戸型ポテンシャルawk第一原理計算仮想結晶近似ブラウン運動差し込みグラフ平均場近似fsolve起電力熱力学OpenMPスーパーセル固有値問題最適化最小値VCAシュレディンガー方程式VESTAubuntu最大値面心立方構造PGAOPA2277L10構造非線型方程式ソルバ2SC1815fccフェルミ面等高線ジバニャン方程式ヒストグラム確率論マテリアルデザイン正規分布結晶磁気異方性interp1フィルタ初期値ウィグナーザイツ胞c/aルチル構造岩塩構造スワップ領域リジッドバンド模型edeltBaOウルツ鉱構造重積分SIC二相共存ZnOquantumESPRESSOCapSensegnuplotmultiplot全エネルギー固定スピンモーメントFSM合金ノコギリ波フォノンデバイ模型ハーフメタル半金属TeXifortTS-110不規則局所モーメントTS-112等価回路モデルパラメータ・モデルヒストグラムExcel円周率GimpトラックボールPC直流解析入出力文字列マンデルブロ集合キーボードフラクタル化学反応三次元Realforce縮退日本語最小二乗法関数フィッティング疎行列シンボル線種ナイキスト線図陰解法負帰還安定性熱拡散方程式EAGLECrank-Nicolson法連立一次方程式P-10クーロン散乱Ubuntu境界条件MBEHiLAPW軸ラベルトランスCK1026MAS830L凡例PIC16F785LMC662AACircuit両対数グラフ片対数グラフグラフの分割specx.f

最新コメント
リンク

にほんブログ村 その他趣味ブログ 電子工作へ