ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

簡単なモデルの作成

Simulink® を使用してシステムをモデル化し、そのシステムの動的動作をシミュレートすることができます。Simulink を使用するとブロック線図を作成できます。ブロック線図では、接続するブロックはシステムの部分を表し、信号はブロック間の入力/出力関係を表します。Simulink の基本関数は、時間経過に沿ったシステム コンポーネントの動作をシミュレートします。最も簡潔な形式では、このタスクにはクロックの維持、ブロックがシミュレートされる順序の決定およびブロック線図で計算された出力を次のブロックまで伝播することが含まれます。ヒーターをオンにするスイッチについて考えます。各タイム ステップで、Simulink はスイッチの出力を計算し、それをヒーターに伝播し、そして熱出力を計算しなければなりません。

コンポーネントの効果が出力に即座に影響しないことがよくあります。たとえば、ヒーターをオンにしても温度はすぐに変化しません。その代わりに、このアクションは微分方程式に入力を提供し、温度の履歴 ("状態") も係数になります。ブロック線図のシミュレーションで微分または差分方程式を解く必要があるときは、Simulink はメモリと数値ソルバーを使用してタイム ステップの状態値を計算します。

Simulink はデータを以下の 3 つのカテゴリで処理します。

  • 信号 — ブロックの入力と出力。シミュレーション中に計算される。

  • 状態 — ブロックのダイナミクスを表す内部値。シミュレーション中に計算される。

  • パラメーター — ブロックの動作に影響を与える値。ユーザーが制御する。

各タイム ステップで、Simulink は信号と状態について新しい値を計算します。一方、パラメーターはモデルを作成するときに指定し、時にはシミュレーションの実行中に変更することもできます。

モデルの概要

このチュートリアルで簡単なモデルの作成に用いる基礎的な手法は、複雑なモデルで使用されるものと同じです。この例では、アクセル ペダルを軽く踏み込んだ後の車の簡略化された動きをシミュレートします。

Simulink ブロックは、入力と出力間の数学的関係を定義するモデル要素です。この簡単なモデルを作成するには、次の 4 つの Simulink ブロックが必要です。

ブロック名ブロックの目的モデルの目的
Pulse Generatorモデルの入力信号を生成する アクセル ペダルをシミュレートする
Gain入力信号を係数で乗算するアクセルの踏み込みが車の加速に影響を与える仕組みをシミュレートする
Integrator, Second-Order入力信号を 2 階積分加速度から位置を取得する
Outport信号をモデルからの出力として指定する位置をモデルからの出力として指定する

このモデルのシミュレーションでは、短いパルスを 2 回積分してランプを取得してから、スコープ ウィンドウに結果を表示します。入力パルスは車のアクセル ペダルの踏み込みを表し、出力ランプは増大する始点からの距離を表します。

新しいモデルを開く

Simulink エディターを使用して、モデルを作成します。

  1. MATLAB® を起動します。MATLAB ツールストリップから、[Simulink] ボタン をクリックします。

  2. [空のモデル] テンプレートをクリックします。

    Simulink エディターが開きます。

  3. [ファイル] メニューの [名前を付けて保存] を選択します。[ファイル名] テキスト ボックスで、モデルの名前を入力します (simple_model など)。[保存] をクリックします。モデルがファイル拡張子 .slx を付けられて保存されます。

Simulink ライブラリ ブラウザーを開く

Simulink は、ライブラリ ブラウザーで機能別に整理された一連のブロック ライブラリを提供します。以下のライブラリはほとんどのワークフローに共通です。

  • Continuous — 連続状態をもつシステムの基本ブロック

  • Discrete — 離散状態をもつシステムの基本ブロック

  • Math Operations — 代数方程式および論理方程式を実装するブロック

  • Sinks — ブロックに接続する信号を格納および表示するブロック

  • Sources — モデルを駆動する信号値を生成するブロック

  1. Simulink エディターのツール バーで、[ライブラリ ブラウザー] ボタン をクリックします。

  2. ライブラリ ブラウザーが常にデスクトップ上の他のウィンドウの上に表示されるように設定します。ライブラリ ブラウザーのツール バーで、[常に前面に表示] ボタン を選択します。

ブロック ライブラリから参照するには、MathWorks® 製品を選択してから、左ペインの機能領域を選択します。使用可能なすべてのブロック ライブラリを検索するには、検索語を入力します。

たとえば、Pulse Generator ブロックを検索します。ブラウザーのツール バー上の検索ボックスに pulse と入力して Enter キーを押します。Simulink は名前または説明に pulse が含まれるブロックのライブラリを検索し、それらのブロックを表示します。

ブロックについての詳細情報を参照します。ブロックを右クリックし、[Pulse Generator ブロックのヘルプ] を選択します。すると、そのブロックのリファレンス ページと共にヘルプ ブラウザーが表示されます。

通常、ブロックには複数のパラメーターがあります。ブロックをダブルクリックすることですべてのパラメーターにアクセスできます。

モデルへのブロックの追加

モデルの作成を開始するには、ライブラリを参照してブロックを追加します。

  1. Sources ライブラリから、Pulse Generator ブロックを Simulink エディターにドラッグします。Pulse Generator ブロックのコピーが [Amplitude] パラメーターの値のテキスト ボックスと共にモデルに表示されます。「1」と入力します。

    パラメーター値はシミュレーション全体を通じて保持されます。

  2. 同じ方法を使用して、以下のブロックをモデルに追加します。

    ブロックライブラリパラメーター
    GainSimulink/Math Operations

    ゲイン: 2

    Integrator, Second OrderSimulink/Continuous

    初期条件: 0

    OutportSimulink/Sinks

    端子番号: 1

    既存のブロックを右クリックおよびドラッグして、2 番目の Outport ブロックを追加します。

    これでモデルに必要なブロックを用意できました。

  3. 各ブロックをクリックしてドラッグすることで、次のようにブロックを配置します。ブロックのサイズを変更するには、角をクリックしてドラッグします。

ブロックの接続

出力端子と入力端子との間にラインを作成することでブロックを接続します。

  1. Pulse Generator ブロックの右側の出力端子をクリックします。

    その出力端子と接続に適したすべての入力端子が強調表示されます。

  2. Gain ブロックの入力端子をクリックします。

    Simulink により、ブロックがラインで接続され、信号の流れる方向が矢印で示されます。

  3. Gain block の出力端子を Integrator, Second Order ブロックの入力端子に接続します。

  4. Integrator, Second Order ブロックの 2 つの出力を 2 つの Outport ブロックに接続します。

  5. モデルを保存します。[ファイル]、[保存] を選択して、名前を指定します。

モデルが完成しました。

信号ビューアーの追加

結果を表示するには、最初の出力を Signal Viewer に接続します。

信号を右クリックしてコンテキスト メニューにアクセスします。[ビューアーの作成と接続]、[Simulink]、[Scope] を選択します。これにより、信号にビューアー アイコンが作成され、ビューアー ディスプレイが表示されます。

アイコンをダブルクリックすることで、いつでもビューアーを開くことができます。

シミュレーションの実行

コンフィギュレーション パラメーターを定義したら、モデルのシミュレーションを実行する準備が整っています。

  1. モデル ウィンドウで、ツール バーの値を変更することでシミュレーションの終了時間を設定します。

    既定の終了時間である 10.0 はこのモデルに適しています。この時間値には単位がありません。Simulink の時間単位は、方程式の構成方法によって異なります。この例では、簡略化された車の動きを 10 秒間シミュレートします。

  2. シミュレーションを実行するには、[実行] シミュレーション ボタン をクリックします。

シミュレーションが実行され、ビューアーに出力が生成されます。

参考

ブロック

関連するトピック