Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

シミュレーション速度の高速化

シミュレーション速度を高速化する方法

適当なソルバー (連続積分法、離散積分法、フェーザー法)、ソルバー タイプ、パラメーターを選択した後、次の方法によりさらにその実行速度を最適化することができます。

  • 回路と制御システムの離散化について説明します。そのとき、制御システムには、システム全体としての最小サンプル時間の整数倍の長いサンプル時間を設定することができます。

  • 特定の操作点から繰り返しシミュレートする場合は、初期状態のベクトルを指定します。

    1. モデルをシミュレートします。初期状態をベクトルとして MATLAB® ワークスペースに保存します。

    2. Simulink®[モデル化] タブで、[モデル設定][モデル設定] を選択します。

    3. [コンフィギュレーション パラメーター] ダイアログ ボックスの左側のペインで、[データのインポート/エクスポート] を選択します。

    4. [初期状態] パラメーターを選択して、初期状態のベクトルを含めるワークスペース変数の名前を入力します。

  • シミュレーション実行中に測定用として開く Scope の数と Scope に保存する測定点を減らしてください。このことによっても、シミュレーション時間の短縮が図れます。

  • Simulink アクセラレータ モードを利用してください。アクセラレータで得られるパフォーマンスの向上は、モデルのサイズと複雑さによって変わります。一般的に、2 ~ 10 倍のパフォーマンス向上を期待できます。

アクセラレータ モードと Simulink Coder の利用

アクセラレータ モードは、モデルの実行中に Simulink ブロックの下で実行されるインタープリター型の M コードをコンパイルされたコードと置き換えることによって、Simulink モデルの実行を高速化します。アクセラレータ モードは Simulink Coder™ の一部を使用して、このコードを順次生成します。アクセラレータ モードはこのテクノロジーを使っていますが、実行するために Simulink Coder は必要ありません。また、環境として C コンパイラをインストールしていなくても、MATLAB が提供する LCC コンパイラを使うことができます。

モデルをコードに変換することで可能になるパフォーマンス向上をフルに活用するには、Simulink Coder ソフトウェアを使用してスタンドアロンの C コードを生成しなければなりません。その後、このコードをコンパイルして実行できます。また、Simulink Real-Time™ ソフトウェアを使用すると、Simulink Real-Time リアルタイム カーネルが動作しているターゲット PC 上で実行することもできます。