ドキュメンテーション

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

シミュレーション データのエクスポート

シミュレーション データをエクスポート (ログ作成) することにより、モデルの解析とデバッグに使用できるベースラインを提供します。標準またはカスタムの MATLAB® 関数を使用して、シミュレーションしたシステム入力信号を生成し、システム出力のグラフ化、解析、またはその他の後処理を行うことができます。

シミュレーション データ

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

シミュレーション データのエクスポートには、信号値を後で取得および処理するために、シミュレーション中に MATLAB ワークスペースまたは MAT ファイルに保存することも含まれます。データのエクスポートは、"データのログ" または "シミュレーション データの保存" としても知られています。

データは次のようにいくつかの形式で記録されている場合があります。

  • Simulink.SimulationData.Dataset

  • 配列

  • 構造体

  • 時間付き構造体

  • MATLAB 時系列

  • ModelDataLogs

    メモ

    [ModelDataLogs] クラスは、下位互換性のためにサポートされています。R2016a 以降は、データを [ModelDataLogs] 形式で記録することはできません。信号の記録では [データセット] 形式を使用します。R2016a 以降では、ModelDataLogs 形式を使用していた前のリリースのモデルを開くと、そのモデルは Dataset 形式でデータを記録します。

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

エクスポートされたデータをモデルのシミュレーションの入力として使用することもできます。

信号データをエクスポートする方法

シミュレーション データのエクスポートには、信号データのエクスポートが含まれる場合がよくあります。信号データのエクスポートにはさまざまな方法を使用できます。

エクスポート方法使用方法 ドキュメンテーション

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

シミュレーション中に Scope ブロックで結果を表示する場合、データのエクスポートにも Scope ブロックを使用することを検討します。

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

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

Scope

信号を To File ブロックに接続する

データを大量にエクスポートする場合は To File ブロックの使用を検討します。

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

シミュレーションが完了した後、MAT ファイルのみ使用します。

To File

信号を To Workspace ブロックに接続する

信号データの保存に使用するワークスペース変数をブロック線図内で文書化します。

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

To Workspace

信号をルートレベルの Outport ブロックに接続する

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

Outport

信号の信号記録プロパティを設定する

信号の記録を使用して、Scope ブロック、To File ブロック、および To Workspace ブロックなどのブロックのモデルへの追加を回避します。

個別の信号レートに基づいて信号のログを記録します。

データを使用できるのは、シミュレーションの一時停止時または完了時です。

信号ログを使用して、バス配列の信号のログ作成を行います。

信号ログを使用して、信号データをエクスポート

Simulink® を時間、状態および出力データをエクスポートするように設定する

シミュレーションの情報全体を取得するには、このデータのエクスポートを検討します。

[出力] パラメーターを使用して、シミュレーション中にルート Outport ブロック データを保存します。

出力および状態は、モデルの基本サンプルレートでログが記録されます。

記録されたシミュレーション データのデータ形式

エクスポートされるデータ量の制限

可変ステップ ソルバーのためにエクスポートするサンプル

データ ストア ログを記録する

モデルの階層全体でデータを共有するためにデータ ストアのログを記録し、すべてのデータ ストア書き込みの順序を取得します。

データ ストアのログ記録

sim コマンドを使用して、シミュレーション データ ログをプログラムにより記録する

sim を使用して、1 つのデータ オブジェクトに時間、状態および信号シミュレーション データをエクスポートします。

関数または parfor ループ内で sim コマンドを使用してモデルをシミュレーションする際は、[Return as single object] パラメーターを選択します。

sim

シミュレーション データ エクスポートを有効にする

モデルのシミュレーション中にモデルの状態とルートレベルの出力端子を MATLAB ベース ワークスペースにエクスポートするには、次のいずれかのインターフェイスを使用します。

どちらの方法でも以下を指定します。

シミュレーション データ インスペクターを使用したログ データの表示

エクスポートされたシミュレーション データを対話形式で調査するには、シミュレーション データ インスペクターの使用を検討します。

シミュレーション データ インスペクターには、表示するログ データの種類にいくつかの制限があります。シミュレーション データ インスペクターでのデータの表示を参照してください。

メモリ パフォーマンス

ログ データの最適化

ラピッド アクセラレータ以外のシミュレーション モードでシミュレーション データをエクスポートする場合、Simulink は以下の状況でメモリ使用量を最適化します。

  • タイム ステップが一定の間隔で発生する場合、Simulink は圧縮された時間表現を使用します。Simulink は最初のタイムスタンプの値、間隔の長さ (タイム ステップ) およびタイムスタンプの合計数を保存します。

  • 複数の信号が同じタイムスタンプ シーケンスを使用する場合、信号は保存された単一のタイムスタンプ シーケンスを共有します。保存された単一のタイムスタンプを共有することにより、ログ データ用のメモリ使用量が 1/2 程度に削減されます。特に、バス要素の数が数千のバス信号を記録する場合、メモリ パフォーマンスの差は、重要なパフォーマンス要因になります。

永続ストレージへのログの記録

多くのタイム ステップが含まれる長いシミュレーションに大量の信号を記録する場合、メモリの問題が発生する可能性があります。永続ストレージにログを記録すると、このようなメモリの問題に対処できます。

永続ストレージにログを記録するには、[コンフィギュレーション パラメーター][データのインポート/エクスポート] ペインで、[データセットのデータをファイルにログ] オプションを選択します。ログの種類を指定します (信号のログや状態のログなど)。

  • 出力と状態データを記録するには、[形式] パラメーターを [データセット] に設定します。

  • [最終状態] パラメーターを選択する場合、[最終の操作点を保存] パラメーターをオフにします。

Simulink.SimulationData.DatasetRef オブジェクトを使用して信号ログ データおよび状態ログ データにアクセスすることで、データがモデル ワークスペースにインクリメンタルに読み込まれます。他の種類のログのデータにアクセスすると、すべてのデータが一度に読み込まれます。

詳細については、永続ストレージへのデータの記録を参照してください。

参考

ブロック

関数

関連する例

詳細