Simulink:MATLABの高度なシミュレーション&モデルベース設計ツール
Simulinkは、MATLABと統合された動的および組み込みシステムのためのシミュレーションとモデルベース設計環境です。MathWorksによって開発されたSimulinkは、マルチドメイン動的システムのモデリング、シミュレーション、分析のためのデータフロー型グラフィカルプログラミング言語ツールです。基本的に、カスタマイズ可能なブロックライブラリセットを持つグラフィカルブロック図ツールです。
MATLABアルゴリズムをモデルに組み込んだり、シミュレーション結果をMATLABにエクスポートしてさらなる分析を行ったりできます。
Simulinkは以下をサポートします。
- システムレベル設計
- シミュレーション
- 自動コード生成
- 組み込みシステムのテストと検証
MathWorksによって提供されるいくつかのアドオン製品や、サードパーティのハードウェアおよびソフトウェア製品がSimulinkで使用可能です。
以下にそれらの一部を簡単に説明します。
Stateflowは、ステートマシンとフローチャートの開発を可能にします。
Simulink Coderは、システムのリアルタイム実装のためのCソースコードを自動生成します。
xPC Targetは、x86ベースのリアルタイムシステムとともに、SimulinkとStateflowモデルを物理システム上でリアルタイムにシミュレートおよびテストする環境を提供します。
Embedded Coderは、特定の組み込みターゲットをサポートします。
HDL Coderは、合成可能なVHDLとVerilogを自動生成します。
SimEventsは、待ち行列システムのモデリングのためのグラフィカルビルディングブロックライブラリを提供します。
Simulinkは、モデリングスタイルチェック、要件トレーサビリティ、モデルカバレッジ分析を通じて、モデルの体系的な検証と妥当性確認が可能です。
Simulink Design Verifierを使用すると、設計エラーを特定し、モデルチェックのためのテストケースシナリオを生成できます。
Simulinkの使用
MATLABワークスペースで以下を入力してSimulinkを開きます。
simulink
Simulinkはライブラリブラウザとともに開きます。ライブラリブラウザは、シミュレーションモデルの構築に使用されます。
左側のウィンドウペインには、さまざまなシステムに基づいて分類されたいくつかのライブラリがあります。各ライブラリをクリックすると、右側のウィンドウペインに設計ブロックが表示されます。
モデルの構築
新しいモデルを作成するには、ライブラリブラウザのツールバーにあるNewボタンをクリックします。これにより、新しい無題のモデルウィンドウが開きます。
Simulinkモデルはブロック図です。
モデル要素は、ライブラリブラウザから適切な要素を選択し、モデルウィンドウにドラッグすることで追加します。
または、モデル要素をコピーしてモデルウィンドウに貼り付けることもできます。
例
Simulinkライブラリからアイテムをドラッグ&ドロップしてプロジェクトを作成します。
この例では、シミュレーションに2つのブロックを使用します。Source(信号源)とSink(スコープ)。信号発生器(ソース)がアナログ信号を生成し、それがスコープ(シンク)によってグラフィカルに可視化されます。
ライブラリから必要なブロックをプロジェクトウィンドウにドラッグ&ドロップします。次に、あるブロックの接続点から別のブロックの接続点へコネクタをドラッグして、ブロックを接続します。
'Sine Wave'ブロックをモデルにドラッグします。
ライブラリから'Sinks'を選択し、'Scope'ブロックをモデルにドラッグします。
Sine Waveブロックの出力からScopeブロックの入力へ信号線をドラッグします。
すべてのパラメータをデフォルトのまま(シミュレーションメニューから変更可能)『Run』ボタンを押してシミュレーションを実行します。
スコープから以下のグラフが得られます。
MATLAB
- MATLAB徹底解説:数値計算環境の決定版
- MATLAB基礎マスター:必須構文とコマンド完全ガイド
- MATLAB変数の理解:基礎から実例まで徹底解説
- MATLAB必須コマンドリファレンス:効率的な計算のための完全ガイド
- MATLABデータ型完全ガイド:15種類の基本型と変換・判定関数
- MATLAB演算子完全ガイド:算術・論理・ビット演算・集合操作
- MATLAB行列完全マスター:作成・参照・操作・削除の基礎
- MATLAB:多次元配列と特殊配列をマスターする
- MATLABコロン演算子をマスター:ベクトル作成と効率的な反復処理
- MATLABの数値型:型、格納、変換
- MATLAB文字列をマスター:作成と活用ガイド