メインコンテンツ

高速リスタートによる反復的なシミュレーションの改善

一般的なシミュレーションでは、モデルのシミュレーションの実行時に次の処理が行われます。

  1. モデルをコンパイルする

  2. モデルのシミュレーションを実行する

  3. シミュレーションを終了する

モデルを開発するときは、一般にシミュレーションを繰り返しながら設計を進めていくことになります。たとえば、特定の応答が得られるように入力の値やブロックのパラメーターを調整する場合があります。それらの値やパラメーターを変更しても、次のシミュレーションの実行前に必ずしもモデルのコンパイルが必要になるとは限りません。しかし、従来のワークフローでは、変更によってモデルの構造が変わらない場合でも、シミュレーションを実行するたびにモデルがコンパイルされます。そのため、コンパイルのたびに処理に時間がかかり、全体のシミュレーション時間が長くなります。

高速リスタートでは、1 回ごとにモデルをコンパイルしたりシミュレーションを終了したりせずに、シミュレーションを繰り返し実行することができます。高速リスタートを有効にした後に実行した最初のシミュレーションでは、モデルがコンパイルされます。シミュレーションの終了時、ソフトウェアは終了フェーズをスキップし、モデルをコンパイルせずにシミュレーションを再初期化します。高速リスタート シミュレーションのためにモデルが初期化された状態を維持している間は、次の変更を行うことができます。

  • 最上位の入力端子および From Workspace ブロックを使用して読み込まれる入力データ

  • モデルの初期状態

  • 実行ごとおよび実行時の調整可能なパラメーターの値

次のような場合は、高速リスタートを使用してシミュレーション ワークフローを高速化します。

  • シミュレーション間でモデルに構造的な変更を行う必要がない。

  • 各シミュレーションで入力またはパラメーターを変更しながら、同じモデルの複数のシミュレーションを実行する。

  • モデルのコンパイルに数秒以上かかる。

高速リスタートは、すべてのノーマルおよびアクセラレータ シミュレーション ワークフロー、ならびにプログラムおよびスクリプトによるラピッド アクセラレータ シミュレーション ワークフローでサポートされています。ラピッド アクセラレータ シミュレーションでの高速リスタートの使用の詳細については、Script Iterative or Batch Simulations Using Fast Restartを参照してください。

制限

  • 高速リスタートは、プログラムおよびスクリプトによるラピッド アクセラレータ シミュレーションでのみサポートされています。 (R2025a 以降)Simulink エディターなどのユーザー インターフェイスから実行されるラピッド アクセラレータ シミュレーション、または名前と値の引数 SimulationCommand を指定した set_param 関数を使用してシミュレーションを開始するプログラムによるワークフローでは、高速リスタートはサポートされません。

  • ローカル ソルバーを使用するように構成された参照モデルを 1 つ以上含むモデルの階層構造の場合、高速リスタートはノーマル モード シミュレーションでのみサポートされます。詳細については、Use Local Solvers in Referenced Modelsを参照してください。 (R2025a 以降)

  • 高速リスタートでシミュレーションが再初期化された場合、以下を行うことはできません。

    • モデルに構造的な変更を行う。

    • サンプル時間などの調整不可能なパラメーターの値を変更する。

    • モデルへの変更を保存する。高速リスタートが有効になっている間にモデルに加えた変更を保存するには、まず高速リスタートを無効にしてからモデルを保存します。

  • 高速リスタートは、モデルの操作点の保存と読み込みをサポートしないブロックが含まれているモデルではサポートされません。以下のブロックが含まれます。

    • R2016a より前の SimEvents® ブロック

    • System object を含む MATLAB Function ブロック

    • モデルの操作点 get メソッドおよび set メソッドを実装しないが Pwork ベクトルを宣言する S-Function

    • From Multimedia File

    • To Multimedia File

    • Multipath Rician Fading Channel

    • Multipath Rayleigh Fading Channel

    • Derepeat

    • DC Blocker

    • Stack

    • Queue

    • Read Binary File

    • Write Binary File

    • Video Viewer

    • Frame Rate Display

    • Video From Workspace

    • Video To Workspace

  • あるモデルが、Simscape™ ブロックを含んでいてアクセラレータ モードでシミュレーションを実行するモデルを直接または間接的に参照する場合は、そのモデル内で高速リスタートを有効にすることはできません。

  • シミュレーション間で、高速リスタートはバス プロパティなどの設計データへの変更を処理しません。

  • サンプル時間、次元、データ型など、モデルのコンパイルに影響を与えるパラメーターは、高速リスタートが有効になっている間は調整できません。

  • 高速リスタートで初期化されている間に、調整不可能な値を定義する変数に変更を加えた場合、警告が発行され、その変更は無視されます。

  • 初期値が Simulink.Signal オブジェクトを使用して定義されている場合、高速リスタートで初期化されている間は、ブロックの [初期値] パラメーターの調整はサポートされません。

  • 固定小数点ツールでは、高速リスタート シミュレーションで提供されるサポートに制限があります。シミュレーション範囲と派生範囲を収集してデータ型を推奨するには、高速リスタートを無効にする必要があります。

  • 同じモデルを参照する複数の Model ブロックがモデルに含まれている場合、最上位モデルが高速リスタートで初期化されている間は、ノーマル モードの可視性を持つモデル参照インスタンスを変更できません。

  • 高速リスタートでの初期化中の Simulink プロファイラーの有効化と無効化はサポートされていません。Simulink プロファイラーで高速リスタートを使用するには、高速リスタートを有効にしてから、Simulink プロファイラーを使用してプロファイリング シミュレーションを実行します。モデルのシミュレーション実行のプロファイリングが終了したら、高速リスタートを無効にしてプロファイリング シミュレーションを終了します。高速リスタートを無効にすると、プロファイラーも無効になります。 (R2024a 以降)

  • R2024a より前: Simulink プロファイラーを使用して実行されるプロファイリング シミュレーションでは、高速リスタートはサポートされません。

  • 高速リスタートで初期化されている間は、モデル アドバイザー チェックの実行はサポートされません。

  • 高速リスタートを有効にすると、使用する構文に関係なく、sim 関数は常に単一の Simulink.SimulationOutput オブジェクトを返します。

  • 高速リスタートで初期化されている間は、Subsystem Reference ブロックのサブシステム ファイルで行われた変更はモデルに伝播されません。

参考

トピック