MATLABとSimulinkの違い
MATLABとSimulinkの関係はMATLABという土台の上にSimulinkが乗っかっている感じですが、それぞれ一般的なプログラミングはMATLABでダイナミックシミュレーションをSimulinkが担っています。
用途が異なるために、それぞれのオプションツールボックスをMATLABの場合MATLABファミリ、Simulinkの場合Simulinkファミリと呼んでいます。
ですから、ダイナミックシミュレーションしない場合はMATLABだけ使って、それ以外特殊なことするにはオプションのツールボックスを使う必要が出てきます。
Simulinkの場合は、Simulinkだけ使うということはいかず最低でもMATLAB+Simulinkのセットが必要となります。
ただ、MATLABがこれだけ使われるようになったのはSimulinkがブロック線図で構成するダイナミックシミュレータという直観的で使いやすいツールのおかげでMATLAB、Simulinkのセットで有名になったものと言えます。
MATLABとは
MATLABとは私の感覚からいえば
”数値計算ライブラリのついたBASIC”
といったところです。
実際にMATLAB開発者も使いやすいツールを目指したと言っているのでそうだと思います。
細かいこと言えば、例えばデータの型とか気にせず使えるところがメリットですが、裏を返せばPCに負担のかかるプログラミング言語です。基本的にインタープリタなのでデバッグがとても楽です。
Simulinkとは
”ブロック線図で構成するダイナミックシミュレータ”
です。人によっては
”ブロック線図で構成する物理モデリングツール”
です。
モデルベース開発をMILのレベルで実施するのには適したツールですが、SILとかHILをするにはMATLABCoder、SimulinkCoderというオプションツールが必要なうえ、場合によってはembededCoderが必要となってしまいます。
これはSimulinkのブロックは人間にわかりやすく、SimulinkのコードはMATLABにわかりやすく構成されています。MATLAのコードをほかのマイコン機器にわかりやすくするには結局Cソースに変換しないといけないので、そうしたツールが必要になってきます。それがCoder製品です。
結局C言語なのか・・・ と言ったところです。
MATLAB、Simulinkの利用価値
Simulinkはダイナミックシミュレーションするのに重要なツールです。
MATLABについては数値計算ライブラリを使いたい、またはほかのオプションツールボックスを利用するために使わざるを得ないというものになってしまっています。別のたとえでは、インターネットするのにブラウザは必要だがOSって何でもいいがないと困るものってことです。
ただMATLABの場合は特にR13からは単なる言語から、統合開発環境として使い勝手の良いツールになっているのが魅力的です。
まとめ
- MATLABはプログラミング言語の統合開発環境
- Simulinkはダイナミックシミュレーションツール
- MBDで外部機器に実装するにはCoder製品が必要
この記事へのコメントはありません。