Matlab-simulink
MATLAB-Simulink
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を使用する
Simulinkを開くには、MATLABワークスペースに入力します-
simulink
Simulinkが Library Browser で開きます。 ライブラリブラウザーは、シミュレーションモデルの構築に使用されます。
Simulinkライブラリブラウザー、scaledwidth = 100.0%
左側のウィンドウペインには、さまざまなシステムに基づいて分類されたいくつかのライブラリがあり、各ライブラリをクリックすると、右側のウィンドウペインにデザインブロックが表示されます。
モデルの構築
新しいモデルを作成するには、ライブラリブラウザーのツールバーの[新規]ボタンをクリックします。 これにより、新しい無題のモデルウィンドウが開きます。
Simulink New Model Window、scaledwidth = 100.0%
Simulinkモデルはブロック線図です。
モデル要素を追加するには、ライブラリブラウザーから適切な要素を選択し、モデルウィンドウにドラッグします。
または、モデル要素をコピーして、モデルウィンドウに貼り付けることもできます。
例
Simulinkライブラリからアイテムをドラッグアンドドロップして、プロジェクトを作成します。
この例の目的のために、2つのブロックがシミュレーションに使用されます-ソース(信号)および*シンク*(スコープ)。 信号発生器(ソース)がアナログ信号を生成し、スコープ(シンク)によってグラフィカルに視覚化されます。
ライブラリからプロジェクトウィンドウに必要なブロックをドラッグすることから始めます。 次に、ブロックを接続します。これは、あるブロックの接続ポイントから別のブロックの接続ポイントにコネクタをドラッグすることで実行できます。
「Sine Wave」ブロックをモデルにドラッグしてみましょう。
ライブラリから「シンク」を選択し、「スコープ」ブロックをモデルにドラッグします。
Scopeブロック、scaledwidth = 100.0%
Sine Waveブロックの出力からScopeブロックの入力に信号線をドラッグします。
ブロックは接続されていません、scaledwidth = 100.0%
ブロックは接続されています、scaledwidth = 100.0%
「 Run 」ボタンを押してシミュレーションを実行し、すべてのパラメーターをデフォルトのままにします(シミュレーションメニューから変更できます)
スコープから以下のグラフを取得する必要があります。