みなさん,こんにちは
おかしょです.
数値シミュレーションを行う上で必要となる手順を解説していきます.
数値シミュレーションにもさまざまな種類がありますが,私の専門が制御工学のため,そのための数値シミュレーションの方法を解説していきます.
この記事を読むと以下のようなことがわかる・できるようになります.
- 数値シミュレーションに必要なもの・こと
- 数値シミュレーションをする方法
必要なもの
まずは数値シミュレーションに必要なものを以下に示します.
- パソコン
- 数値シミュレーションを行うことができるソフト
数値シミュレーションを行うだけなので,パソコンさえあれば十分です.
加えるとすれば,ソフトをインストールするためのインターネット環境ぐらいです.
ここで,必要となるパソコンはできるだけ計算処理が速いものが良いと思います.
シミュレーションによっては1ループあたりにとんでもない計算量を必要とする可能性があるからです.
この計算能力が低いと,一つのシミュレーションを行うのに,1時間や3時間,かかる時は1日かかる場合もあります.私の知り合いには,3日かかるシミュレーションをやっても満足のいく結果が出ないという人もいます.
そして,数値シミュレーションソフトなのですが,一番いいと思うのはMATLABです.
MATLABというのはプログラムやブロック線図を書いて,数値シミュレーションができるソフトです.
数値シミュレーションを行うことができるソフトは他にもscilabやofficeのExcelでもできます.Processsingでもできます.ほかにもさまざまなソフトがあります.
ただ,MATLABは非常に優秀なソフトで,ブロック線図を書くだけで数値シミュレーションを行うことができるので,あまり理解できていない理論でもブロックを線で結ぶだけでできます.
また,サポートも充実していて,コマンドを検索すれば詳しい説明がすぐにヒットします.
しかし,有料のソフトなので趣味でやりたいという方はハードルが高いかもしれません.
学生の方の場合は1万円くらいで購入できるので,購入すると良いと思います.
オプションで機能の追加などもできます.ちなみに,私は1万5千円くらいで購入しました.
無料で数値シミュレーションをやりたい方は,Scilabというソフトがあります.
こちらもMATLABと同じようにブロック線図を書くだけでも数値シミュレーションを行うことができます.
ただ,MATLABほどサポートが充実していないので,問題が発生しても解決できないということがあります.
これに関しては使用者の技量によって解決できるか否かが決まるので,何とも言えませんが,MATLABの方が利用者は多く,世界中の研究者も利用しているため購入をお勧めします.
必要な知識

さて,ここからは実際に数値シミュレーションを組むために必要な知識について解説します.
運動方程式
まず,必要になるのは数値シミュレーションを行いたいシステムの運動方程式です.
運動方程式に従って,プログラムを書いていくのでこれは必ず必要になります.
この運動方程式を求めるために必要な知識は以下になります.
- 機械工学
- 電気工学
- 線形代数学
- 統計学
このあたりの学問の知識が必要になります.
非常に簡単なシステムを対象としている場合は,高校の物理程度の知識でも運動方程式を立てることは可能ですが,さらに複雑なシステムが対象の場合は以上の知識が必要になります.
一番上の機械工学は,イメージしやすいと思いますがロボットがどのように動くのかを解析する学問になります.
次の電気工学は,電子部品などの細かい特性まで数値シミュレーションで考慮する場合に必要になります.
線形代数学は,数値シミュレーションでは行列やベクトルの計算が必ず必要になるので,身につけておく必要があります.
最後の統計学はセンサーのノイズやそれを除去するためのフィルターを構成するためには必要となる学問です.
これらの学問を身につけておけば,現実のシステムに近い運動方程式を表現できます.
システムのパラメータ
運動方程式を求めることができても,それは文字式のままでは数値シミュレーションでは使えません.
なので,その文字に値を代入していく必要があります.
このときに代入する値は,実際のシステムと同じにする必要があります.
そもそも数値シミュレーションは,実際のシステムを模擬するために行うものなので,同じにしなければ意味がありません.
もし,実際の物がない場合は,設計段階のパラメータを使います.
開発の順序としては,数値シミュレーションをして,そのシステムの有効性を確認してから製作を開始する場合もあるので,数値シミュレーションで使用するためのパラメータを用意しておきます.
ブロック線図 or プログラムを書く
MATLABやScilabを使用している場合は,運動方程式の通りにブロック線図を書いていきます.
各ブロックに定数や変数を設定し,それぞれを結ぶだけでできます.
なので,プログラミングの知識などがなくても大丈夫です.
また,ブロック線図を書かなくても,プログラムを書くだけでもできます.
この場合は運動方程式を解くプログラムを書かなければいけないので,少し難易度が高いです.
運動方程式は微分方程式で表現されるため,積分を台形則やルンゲクッタで行う必要があります.
この場合は,ある程度のプログラミングの知識が必要になります.
まとめ

以上に示したように,数値シミュレーションを行うにはさまざまな知識が必要になります.
ここまで読んできた方の中には,非常に難しく感じたかもしれませんが,簡単な数値シミュレーションであれば,高校の物理程度の知識でも十分にできます.
なので,何もせずに諦めるのではなく,とりあえずパソコンに数値シミュレーション用のソフトをインストールしてみてください.
まずはそこから始めていきましょう.
続けて読む
この記事を読んで数値シミュレーションソフトをインストールした方は,以下の記事で解説しているマス・スプリング・ダンパーの数値シミュレーションをやってみましょう.
Twitterでは記事の更新情報や活動の進捗などをつぶやいているので気が向いたらフォローしてください.
それでは最後まで読んでいただきありがとうございました.
コメント
[…] 数値シミュレーションを行う方法運動方程式から数値シミュレーション行う方法 […]