EXCELを使ったシミュレーション

 エクセルのワークシートにはマクロが
設定してあります。マクロの実行を停止させるにはESCキーを押してください。

 少しパソコンに詳しい人は,BASIC言語に対してあまり良い印象を持っていないようである。しかし,QBASICからは昔のパソコンに搭載されていたN88BASICとは違って,構造化プログラミングが可能な高級言語に変貌している。言語の仕様から考えて何にでも対応できる能力がある。
 ところでExcelなどのOffice製品のマクロ言語はVisualBasic(正しくはVBA)である。従ってかつてのBASICの知識があれば簡単にプログラミングできる。しかし,全く同じとはいかず,またExcelの特徴を生かすためには,BASICとは少し違ったプログラミングをした方が簡単である。 はじめにExcelのグラフを使ったアニメーション(動く図形)を紹介する。利用できれば,自由に使ってもらいたい。改良を加え,使い方を工夫してもらえればと思う。

(1)乱数の発生

 B列には =RAND() の関数が100個埋め込んであり,グラフは縦棒グラフである。F9を押すと再計算されグラフが再描画される。F9を何度も続けて押すと,その都度再計算がされるため,棒グラフはまるで動画のように動いて見える。この計算がきっかけとなって,Excelで動くグラフィックが作成可能であることに気づいた。

ダウンロード :一様乱数分布.EXE

(2)物質の三態

 グラフの種類として散布図を選び,物質の三態をイメージしたアニメーションを作成した。マクロは「乱数の発生」と同じように単にセルに数字を書き込むだけである。
 粒子を動かす計算式はセルの中に書き込まれている。この場合乱数で位置を決めるので,このようにどこかのセルに数値を書き込むとその都度位置が計算される

 

ダウンロード :固体液体気体.EXE 

(3)リサージュ

 既知の周波数の正弦波に対して,未知の信号の周波数が何倍(整数倍,または単純な倍数)になっているかを調べる手法にリサージュ波形を観察する方法がある。科学技術ではオシロスコープをX-Y動作させ観察させている。2つの信号は位相も含めて完全に一致させることはできないため,動く・きれいな幾何学模様が表示される。この様子をシミュレーションした。

ダウンロード :リサージュ.EXE

(4)波の重ね合わせ

 波の重ね合わせは,各点の変位を単純に加算すればよい。また進行波をシミュレーションするには,原点からの距離を位相差として与え,全ての位置にθtを加算し,tを変化させれば表現できる。無駄な乗算が目立つ式であるが,CPUの処理速度がきわめて高速であるため特に問題とはならない。なぜならば現在のCPUは以前は高嶺の花であった浮動小数点演算ユニットを内蔵しているためである。10年前の大型コンピュータと考えて良いはずだ。

ダウンロード :SIN(X)+COS(X+D).EXE

(5)定常波

 波の重ね合わせの応用で,左右に進む波を合成して定常波をシミュレーションした。

 

ダウンロード :重ね合わせ.EXE

(6)縦波横波

 縦波を横波のように表現し,アニメーションさせるグラフを作成した。グラフは散布図である。

 

ダウンロード:
縦波横波重ね合わせ動画.EXE

(7)波の3次元表示

 3−D等高線グラフを使って球面波(円形波)の3次元表示を行った。
ダウンロード:3次元波.EXE
ダウンロード:3次元波Ver2.EXE

(8)3−D波の干渉

 波源の位置をずらした波の三次元表示のための2次元配列を2つ用意する。そして,それらのデータを加算(重ね合わせ)した配列を用意し,3−D等高線グラフのデータとすると,3次元表示の波の干渉のシミュレーションとなる。

ダウンロード:3次元波2干渉.EXE
ダウンロード:3次元波2干渉Ver2.EXE