Main Content

シミュレーション データの保存

シミュレーション データを保存 (ログ作成) することにより、モデルの解析とデバッグに使用できるベースラインを提供します。シミュレーション データはワークスペースまたはファイルに保存できます。シミュレーション データのログを記録すると、後でシミュレーションを再実行せずにこのデータの取得、解析、後処理が行えます。ログ データをモデルのシミュレーションの入力として使用することもできます。

シミュレーション データのログを記録するには、次を行います。

  1. ログに記録するシミュレーション データの種類を 1 つ以上選択します。

  2. ログに記録するデータに基づいてログ手法を 1 つ以上選択します。

  3. シミュレーション データのログを記録します。

次のフローチャートは、ログに記録するデータの種類に応じて使用可能な手法と必要なコンフィギュレーション設定の概要を示しています。

Flow chart for the available logging techniques and necessary configuration settings to log each data type.

ログに記録するシミュレーション データの種類の選択

シミュレーション データには、出力、信号、時間、状態、およびデータ ストア ログ データのあらゆる組み合わせを含めることができます。

  • 出力 — ルートレベルの Outport ブロックに接続された信号を解析するには、出力データのログを記録します。

  • 信号データ — ブロックに接続された信号、バス、またはバス配列を解析するには、信号データのログを記録します。

  • 時間 — シミュレーションの時間値を保存するには、時間データのログを記録します。

  • 状態または最終状態 — シミュレーション全体でブロックの状態がどのように変化するかを解析するには、状態データのログを記録します。モデルの操作点のログをシミュレーション中に記録し、それらの任意の操作点からシミュレーションを再開します。

  • データ ストア — シミュレーションのすべてのステップについて、ローカルまたはグローバルのデータ ストアの値を保存するには、データ ストアのログを記録します。データ ストア ログは、一般に、モデルのデバッグやモデル変更の確認に使用されます。

シミュレーション データのログを記録する手法の選択

使用可能なログ手法と必要なコンフィギュレーション設定は、ログに記録するシミュレーション データの種類によって異なります。シミュレーション データは任意の種類を組み合わせてログに記録でき、複数のログ手法を使用して同じモデル内のシミュレーション データを保存できます。

次の 1 つ以上の手法を使用してシミュレーション データをログに記録できます。

目的ログ手法詳細

出力データのログを記録する。

[出力] のログを有効にして、信号をルートレベルの Outport ブロックに接続します。

Outport ブロックが既にモデルに含まれている場合、最上位モデルにおける出力データの記録を検討します。

ログに記録された出力データは、既定の変数名 yout を使用してワークスペースに保存されます。

Dataset 形式でログに記録された出力データは、シミュレーション中にシミュレーション データ インスペクターにストリーミングされます。

ブロックを追加せずにモデル全体で信号のログを記録する。

[信号のログ] を有効にして、ログ記録対象の信号をマークします。詳細については、信号ログを使用した信号データの保存を参照してください。

信号のログを使用して、ブロックのモデルへの追加を回避します。

信号ログ データは、既定の変数名 logsout を使用してワークスペースに保存されます。

シミュレーション中に、信号のログによってデータがシミュレーション データ インスペクターにストリーミングされます。

[信号プロパティ] または [インストルメンテーションのプロパティ] を使用して指定した個々の信号のログ レートを使用して、信号をログに記録します。

マークした信号のサブセットをログに記録するには、プログラムまたは信号ログ セレクターを使用します。詳細については、信号ログ設定のオーバーライドを参照してください。

信号データのログをワークスペース、ファイル、およびシミュレーション データ インスペクターに記録する。

1 つ以上の信号を Record ブロックに接続し、データをワークスペースまたはファイルに記録するようにブロックを構成します。

Record ブロックは、データのログを既定の変数名 recordout を使用してワークスペースに記録します。

シミュレーション中に、Record ブロックはデータをシミュレーション データ インスペクターにストリーミングします。

データ ログをワークスペース、ファイル、またはその両方にも記録するように Record ブロックを構成できます。詳細については、Log Data to the Workspace and a File Using the Record Blockを参照してください。

Record ブロックは、MAT ファイル、MLDATX ファイル、または Excel® ファイルへのデータのログ記録をサポートしています。

Record ブロック内のログ データの可視化には、スパークライン プロット、時間プロット、XY プロットなどのいくつかの可視化を使用します。

信号データのログをワークスペースに記録する。

信号を To Workspace ブロックに接続します。

To Workspace ブロックは、データのログを既定の変数名 simout を使用してワークスペースに記録します。

シミュレーション中に、To Workspace ブロックはログ データをシミュレーション データ インスペクターにストリーミングします。

基本サンプル レート以外のサンプル レートでデータを保存します。

詳細については、ブロックによるシミュレーション データの出力を参照してください。

信号データのログを MAT ファイルに記録する。

信号を To File ブロックに接続します。

To File ブロックは、データをワークスペースの変数に保存せずに MAT ファイルに保存します。

モデルを [ワークスペース データのログをシミュレーション データ インスペクターに記録] に設定すると、To File ブロックに記録されたデータは、シミュレーションの一時停止時、停止時、または完了時にシミュレーション データ インスペクターで利用できます。データは、シミュレーション中にシミュレーション データ インスペクターにストリーミングできません。

基本サンプル レート以外のサンプル レートでデータを保存します。

To File ブロックでは、可変サイズの信号のログ記録はサポートされません。

詳細については、ブロックによるシミュレーション データの出力を参照してください。

Scope ブロックに表示される信号データのログを記録する。

1 つ以上の信号を Scope に接続し、データのログをワークスペースに記録するようにブロックを構成します。

ログに記録された Scope データは、既定の変数名 ScopeData を使用してワークスペースに保存されます。

基本サンプル レート以外のサンプル レートでデータを保存します。

Scope ブロックがデータを格納し、メモリを大量に使用する場合があります。

詳細については、Scope ブロックを使用したシミュレーション データの保存を参照してください。

時間値のログを記録する。

[時間] のログを有効にします。

時間データのログはモデルの基本サンプル レートでワークスペースに記録されます。

ログに記録された時間データは、既定の変数名 tout を使用してワークスペースに保存されます。

シミュレーション全体でブロックの状態がどのように変化するかを解析するために、ブロックの状態データのログを記録する。

[状態] のログまたは [最終状態] のログを有効にします。

Dataset 形式で保存された状態データは、シミュレーション中にシミュレーション データ インスペクターにストリーミングされます。

シミュレーション全体でブロックの状態がどのように変化するかを解析するには、[状態] のログを記録するようにモデルを構成します。状態データは、既定の変数名 xout を使用してワークスペースに保存されます。

シミュレーションの一時停止時または停止時にブロックの状態のスナップショットをログに記録するには、[最終状態] のログを記録するようにモデルを構成します。最終状態データは、既定の変数名 xFinal を使用してワークスペースに保存されます。

詳細については、Save Block States and Simulation Operating Pointsを参照してください。

今後のシミュレーションの開始点として使用するモデルの完全な操作点のログを記録する。

[最終状態] のログを有効にして、[最終の操作点を保存] を選択します。

モデルの操作点は、ブロックの状態の完全なセットとモデルの状態 (シミュレーション時間、ソルバーの状態、実行エンジンの状態など) を表します。詳細については、Save Block States and Simulation Operating Pointsを参照してください。

モデルの操作点を使用すると、あるシナリオから次のシナリオに変化しないシミュレーションのセグメントが繰り返し実行されないため、時間が節約されます。詳細については、モデル操作点を使用したシミュレーション ワークフローの高速化を参照してください。

モデルのデバッグまたはモデル変更の確認のために、モデルの階層構造全体でデータを共有するデータ ストアのログを記録する。 [データ ストア] のログを有効にして、Data Store Memory ブロックをモデルに追加し、データのログを記録するようにブロックを構成します。

データ ストアは、既定の変数名 dmsout を使用してワークスペースに保存されます。

ログに記録されたデータ ストアは、シミュレーション中にシミュレーション データ インスペクターにストリーミングされます。

詳細については、データ ストアのログ記録を参照してください。

データ形式の選択

データはいくつかの形式で記録できます。次の表は、各種のデータおよびログ手法で使用できるデータ形式を示しています。

ログ データデータ形式
Datasettimeseries配列時間付き構造体構造体
出力はい (既定値)なしありありあり
信号ログを使用する信号データはい (既定値)なしなしなしなし
Record ブロックを使用する信号データはい (既定値)なしなしなしなし
To Workspace ブロックを使用する信号データなしはい (既定値)ありありあり
To File ブロックを使用する信号データなしはい (既定値)ありなしなし
Scope ブロックを使用する信号データはい (既定値)なしありありあり
状態と最終状態はい (既定値)なしありありあり
データ ストアはい (既定値)なしなしなしなし

時間データはシミュレーション時間のベクトルとしてログに記録されます。データ形式の詳細については、記録されたシミュレーション データのデータ形式を参照してください。

他の形式で記録されたデータについては、後処理が簡単になるように Dataset 形式に変換することを検討してください。詳細については、Dataset 形式へのデータの変換を参照してください。

データのログ記録

ログに記録するデータの種類とログ手法を選択したら、データのログを記録するためにモデルを準備します。データと選択した手法に応じて、次の 1 つ以上の手順を使用します。

  • ブロック線図で、選択した手法での指定どおりにブロックを追加するか信号をマークします。

  • データを選択した形式で記録するようにブロックを構成します。

    • Record ブロックか Scope ブロックを使用する場合、またはデータ ストアのログを記録する場合は、データのログを記録するようにブロックを構成します。

    • To Workspace ブロック、To File ブロック、または Scope ブロックを使用してデータのログを記録する場合は、[ブロック パラメーター] ダイアログ ボックスを使用してログ データ形式を変更できます。ブロックをダブルクリックして [ブロック パラメーター] ダイアログ ボックスにアクセスします。

  • 選択したデータをログに記録するようにモデルを構成します。

    1. [モデル化] タブの [設定] セクションで、[モデル設定] をクリックします。

    2. [データのインポート/エクスポート] ペインを選択します。

    3. データを保存するためのパラメーターを選択します。たとえば、出力データを保存するには、[出力] を選択します。

選択するパラメーターは、ログに記録するデータによって異なります。

データコンフィギュレーション パラメーター既定で有効

出力データ

出力

はい

信号ログ記録用にマークされている信号データ

信号のログ

はい
時間データ

時間

はい

状態

状態いいえ
最終状態

最終状態

いいえ
データ ストア

データ ストア

はい
シミュレーションの一時停止後または停止後にシミュレーション データ インスペクターで表示する、Dataset 以外の形式でログに記録されたデータ、および To File ブロックまたは Scope ブロックを使用してログに記録されたデータ。

ワークスペース データのログをシミュレーション データ インスペクターに記録

いいえ

選択したデータをログに記録するためにモデルを準備したら、[実行] をクリックしてモデルのシミュレーションを実行します。シミュレーション中にデータのログが記録されます。ログに記録されたシミュレーション データを対話形式で検証するには、シミュレーション データ インスペクターの使用を検討します。詳細については、シミュレーション データ インスペクターでのシミュレーション データの表示を参照してください。

ワークスペースに記録されたデータにはプログラムでアクセスすることもできます。既定では、結果は、完全なシミュレーション メタデータとワークスペースに記録されるすべてのシミュレーション データを含む単一の Simulink.SimulationOutput オブジェクトとして返されます。各ログ データの種類は、ログ データの変数名で指定される SimulationOutput オブジェクトのプロパティです。詳細については、View and Access Logged Simulation Dataを参照してください。

参考

モデル設定

オブジェクト

ブロック

関数

関連するトピック