このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
ブロックの中にはシミュレーションで使用する状態情報を保持するものがあります。たとえば,单位延迟ブロックの状態情報は,前のシミュレーションステップの出力信号値です。ブロックは、現在のシミュレーション ステップの出力値を計算するために状態情報を使用します。
保存された状態情報の使用方法の例としては,次のものがあります。
モデルに対するシミュレーションを停止し,シミュレーションを再起動する際に保存した状態情報を入力として使用する。
1つのモデルをシミュレーションし,最初のモデルの結果に対してビルドするもう1つのモデルのシミュレーションの入力として保存した状態情報を使用する。
シミュレーション全体で状態情報の変化を調べる。
次の種類の状態情報を保存できます。
状態情報のタイプ | 説明 | [データのインポート/エクスポート]ペインのコンフィギュレーションパラメーター |
---|---|---|
各シミュレーションステップの状態 | シミュレーションの各タイムステップのブロックの状態情報(“部分的な状態データ”と呼ばれる) | 状態 |
最終状態 | シミュレーションの終了時のブロックの状態情報 | 最終状態 |
最終状態とModelOperatingPoint |
最終状態とModelOperatingPoint オブジェクト(仿金宝app真软件®でのシミュレーションで使用される追加の内部情報を取得するオブジェクト) |
[最終状態]と(最終の操作点を保存) |
ModelOperatingPoint
からは,最終状態の情報だけの場合よりも詳しいシミュレーションの最終状態の情報が提供されます。ただし,ModelOperatingPoint
の使用に関する要件や制限がモデル化の要件に合わない場合は,ModelOperatingPoint
なしで最終状態の情報を保存してください。
特性 | 最終状態 | 最終状態と操作点 |
---|---|---|
シミュレーションモード |
すべてのシミュレーションモードをサポート |
ノーマルまたはアクセラレータ |
モデル参照 |
モデル参照を参照してください。 |
|
シミュレーションの再開 |
サポートなし |
サポート |
保存される状態データ |
モデルのすべてのシミュレーション状態のサブセットであるログが作成された状態(ブロックの連続状態と離散状態)のみ モデルのユーザーデータ,ランタイムパラメーター,ログは保存されません。 |
完全な状態情報。 モデルのユーザーデータ,ランタイムパラメーター,ログは保存されません。 |
ブロック出力 |
モデルのユーザーデータ,ランタイムパラメーター,ログは保存されません。 |
金宝app仿真软件では,s函数でブロック内に |
可読性 |
時間付き構造体形式を使用すると最も読みやすくなります。 |
データを簡略化した形式で確認するには, |
状態データの復元 |
どちらのシミュレーションモードで保存したデータも両方のモードで復元できます。記録された状態情報が十分でない場合,ノーマルモードとアクセラレータモードで異なる結果を取得する場合があります。 |
ノーマルモードで保存してアクセラレータモードで復元したり,アクセラレータモードで保存してノーマルモードで復元したりすることはできません。 |
複数の状態の復元 |
モデルの複数のログ状態の中から1つのみを初期化できます。 |
モデルのすべての状態を復元します。状態のサブセットは読み込むことができません。 |
構造的な変更 |
シミュレーションを実行してからそれを復元するまでの間に構造的な変更を加えることができます。 |
|
関数 |
モデル関数に入力するには, |
モデル関数に |
コード生成 |
サポートあり |
サポートなし。 |
金宝app仿真软件では,ModelOperatingPoint
と最終状態のログの両方について次の時点で状態情報を保存します。
最終タイムステップ
シミュレーションの実行中に一時停止または停止したとき
ModelOperatingPoint
の詳細については,操作点の保存と復元の制限を参照してください。
状態情報を保存するのにModelOperatingPoint
を使用しない場合は,[コンフィギュレーションパラメーター]、[データのインポート/エクスポート]、[形式]を,保存した状態情報のデータ形式の指定に使用します。
[形式]を以下に指定できます。
データセット
(既定値)
配列
構造体
時間付き構造体
[形式]パラメーターの既定の設定は数据集
です。数据集
形式には次のような特徴があります。
ログ記録されたデータをtimeseries
オブジェクトまたは时间表
オブジェクトに格納します。金宝app仿真软件ライセンスがなくとも,MATLAB®のtimeseries
オブジェクトまたは时间表
オブジェクトに保存されたデータを操作できます。
特定のタイムステップでの複数のデータ値のログ記録をサポートします。これは,对迭代器子系统、而迭代器子系统,およびStateflow®でのデータのログ記録で必要となる可能性があります。
ラピッドアクセラレータシミュレーション,函数调用子系统内での状態情報のログ記録,コード生成をサポートしません。
信号のログ記録では常に数据集
形式を使用します。数据集
形式を使用して状態データをログ記録することで,さまざまなタイプのログ記録されたデータに対してカスタムコードを記述することなく,シミュレーションデータを後処理できます。数据集
形式を使用して状態をログ記録する場合,データはシミュレーション中に自動的にシミュレーションデータインスペクターにもストリーミングされます。
[形式]パラメーターの[配列]
オプションは,金宝app仿真软件が状態情報のログ記録に[配列]
形式のみをサポートしていた,以前のリリースで開発されたモデルとの下位互換性のために存在しています。配列内の信号の順序はブロックの並べ替えられた順番に依存します。これは,次のいずれかを変更する場合に、シミュレーションごとに変化する可能性があります。
モデル(信号を変更しない場合も可)
シミュレーションモード
コード生成モード
信号の順序が変動することは,ログ記録されたデータの後処理の際に課題となる可能性があります。
[構造体]
形式と[時間付き構造体)
形式は,状態情報を使用してシミュレーションのモデルを初期化するときに,以下ができるため便利です。
初期状態値を状態の絶対パス名に直接関連付ける。この関連付けは,金宝app仿真软件が状態を記録する場合に発生するエラーを防ぐことができます。しかし初期状態配列は,それに応じて並べ替えられるわけではありません。
別のデータ型を各状態の初期値に割り当てる。
状態のサブセットだけを初期化する。
金宝app仿真软件で構造体または時間付き構造体の形式で状態を保存すると,構造体の信号
フィールドにinReferencedModel
サブフィールドが追加されます。信号
フィールドが,参照モデル内に存在するブロックの最終状態を記録する場合,この追加サブフィールドの値は真(1
)です。次に例を示します。
xout.signals (1)
ans = values: [101x1 double] dimensions: 1 label: 'DSTATE' blockName: [1x66 char] inReferencedModel: 1
信号フィールドに参照モデルの状態を記録する場合,そのblockName
サブフィールドには,最上位モデルのパスと参照モデルのパスの複合パスが格納されます。最上位モデルのパスは,モデルルートから参照モデルを参照する模型ブロックまでのパスです。参照モデルパスは,参照モデルルートから状態が信号
フィールドに記録されるブロックまでのパスです。複合パスは,|文字を使用して,最上位モデルパスと参照モデルパスを区切ります。以下に例を示します。
> > xout.signals (1) .blockName
ans = sldemo_mdlref_basic/ counter |sldemo_mdlref_counter/Previous Output