このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
状態情報の保存
各シミュレーション ステップの状態情報の保存
シミュレーション中に各シミュレーション ステップのログ状態の状態情報を保存できます。そのレベルの状態情報はデバッグに役立ちます。
[コンフィギュレーション パラメーター] 、 [データのインポート/エクスポート] 、 [状態] のチェック ボックスをオンにします。
[状態] エディット ボックスで、既定の変数
xout
を使用しない場合は、状態情報に別の変数を指定できます。また、[データのインポート/エクスポート] ペインで、レガシ モデルとの互換性のための配列形式を使用しない場合、[形式] パラメーターを
[データセット]
、構造体
または時間付き構造体
に設定します。[データセット]
形式では以下はサポートされません。Function-Call Subsystem 内の状態情報の記録
ラピッド アクセラレータ シミュレーション中の状態の記録
コード生成
[適用] をクリックします。
モデルのシミュレーションを実行します。
部分的な最終状態情報の保存
ログを作成した状態 (ブロックの連続状態と離散状態) だけを保存するには、以下の手順を実行します。
[コンフィギュレーション パラメーター] 、 [データのインポート/エクスポート] 、 [最終状態] のチェック ボックスをオンにします。
[最終状態] エディット ボックスで、既定の変数
xFinal
を使用しない場合は、状態情報に別の変数を指定できます。[最終の操作点を保存] パラメーターをオフにします。
[形式] パラメーターを
[データセット]
、[構造体]
または[時間付き構造体]
に設定します。[適用] をクリックします。
モデルのシミュレーションを実行します。
操作点なしで保存された状態情報の調査
[コンフィギュレーション パラメーター] 、 [データのインポート/エクスポート] 、 [最終状態] パラメーターまたは [状態] パラメーターを有効にした場合、Simulink® は [形式] パラメーターで指定する形式で状態情報を保存します。[最終状態] 情報の既定の変数は xFinal
であり、状態情報の状態情報変数は xout
です。
モデルに保存された状態がない場合、xFinal
および xout
は空の変数になります。モデルに保存された状態があるかどうかを判断するには、isempty(xout)
コマンドを使用します。
Dataset 形式の最終状態情報
たとえば、最終状態情報を [データセット]
形式で保存して、保存した状態情報に既定の変数 [xFinal]
を使用すると仮定します。
xFinal
xFinal = Simulink.SimulationData.Dataset 'xFinal' with 2 elements Name BlockPath ______ _________ 1 [1x1 State] CSTATE vdp/x1 2 [1x1 State] DSTATE vdp/x2 - Use braces { } to access, modify, or add elements using index.
状態データセットの最初の要素を調べます。
xFinal{1}
ans = Simulink.SimulationData.State Package: Simulink.SimulationData Properties: Name: 'CSTATE' BlockPath: [1x1 Simulink.SimulationData.BlockPath] Label: CSTATE Values: [1x1 timeseries]
時間付き構造体形式の最終状態情報
たとえば、最終状態情報を時間付き構造体形式で保存して、保存した状態情報に既定の変数 [xFinal]
を使用すると仮定します。
vdp
モデルのシミュレーション時間および状態数を確認するには、変数 xFinal
を入力します。
xFinal
xFinal = time: 20 signals: [1x2 struct]
この場合、シミュレーション時間は 20 であり、2 つの状態があります。最初の状態を調べるには、次のコマンドを使用します。
xFinal.signals(1)
ans = values: 2.0108 dimensions: 1 label: 'CSTATE' blockName: 'vdp/x1' stateName: '' inReferencedModel: 0
最初の状態構造体の values
フィールドと blockName
フィールドは、x1 ブロックの出力信号の最後の値が 2.018 であることを示します。
メモ
状態情報を解析するスクリプトを作成する場合、特定の状態を一意に識別するために label
値と blockName
値の組み合わせを使用します。状態の順序には依存しないでください。
操作点による最終状態情報の保存
完全な状態情報を保存するには、シミュレーションに対する ModelOperatingPoint
オブジェクトを保存します。
[コンフィギュレーション パラメーター] 、 [データのインポート/エクスポート] 、 [最終状態] のチェック ボックスをオンにします。
[データのインポート/エクスポート] ペインでは、[最終の操作点を保存] パラメーターも選択します。
[最終の操作点を保存] パラメーターの横にあるエディット ボックスに
ModelOperatingPoint
オブジェクトの変数名を入力し、[適用] をクリックします。モデルをシミュレートします。
操作点の使い方の詳細については、モデル操作点を使用したシミュレーション ワークフローの高速化を参照してください。