シミュレーション結果を単一の出力オブジェクトとして返すようにしてモデルをシミュレートすると、すべてのログ データおよびシミュレーション メタデータに Simulink.SimulationOutput
オブジェクトを使用してアクセスできます。
この例のモデルでは [単一のシミュレーション出力] パラメーターが有効になっており、いくつかの異なるログ記録方法を使用してデータをログに記録します。
Sine Wave ブロックの出力は、信号のログを使用してログに記録されます。
Gain ブロックの出力は、To Workspace ブロックを使用してログに記録されます。
Gain ブロック、Chirp Signal ブロック、Square Wave Generator ブロックの出力は、Record ブロックを使用してログに記録されます。
Square Wave Generator ブロックの出力は、出力ログを使用してログに記録されます。
モデルは時間データを記録するようにも設定されます。
モデルを開きます。
Simulink.SimulationInput
オブジェクトを作成してシミュレーションをモデル用に構成します。関数 setModelParameter
を使用して StopTime
パラメーターを 20
に設定します。
モデルのシミュレーションを実行します。関数 sim
の出力 out
は、シミュレーションからログに記録されるすべてのデータが含まれる Simulink.SimulationOutput
オブジェクトです。ブロックごと、ログのタイプごとのデータは、ブロックまたはモデルで指定されているログ変数の名前と一致するプロパティとして保存されます。
ログ データには、ドット表記、関数 get
、または関数 find
を使用してアクセスできます。
ドット表記を使用して、To Workspace ブロックを使用してログ記録された Big Sine
信号にアクセスします。
timeseries
Common Properties:
Name: 'Big Sine'
Time: [51x1 double]
TimeInfo: tsdata.timemetadata
Data: [51x1 double]
DataInfo: tsdata.datametadata
関数 get
を使用して、信号ログを使用してログ記録された Sine
信号にアクセスします。
logsout =
Simulink.SimulationData.Dataset 'logsout' with 1 element
Name BlockPath
____ _______________________
1 [1x1 Signal] Sine LoggingBlocks/Sine Wave
- Use braces { } to access, modify, or add elements using index.
関数 find
を使用して、出力ログを使用してログ記録された Square Wave
信号にアクセスします。
yout =
Simulink.SimulationData.Dataset 'yout' with 1 element
Name BlockPath
___________ _____________________
1 [1x1 Signal] Square Wave LoggingBlocks/Outport
- Use braces { } to access, modify, or add elements using index.
シミュレーション メタデータには、ドット表記または関数 getSimulationMetadata
を使用してアクセスできます。
simMetadata =
SimulationMetadata with properties:
ModelInfo: [1x1 struct]
TimingInfo: [1x1 struct]
ExecutionInfo: [1x1 struct]
UserString: ''
UserData: []
シミュレーション メタデータは Simulink.SimulationMetadata
オブジェクトとして返されます。SimulationMetadata
オブジェクトは、シミュレーションに関する情報を構造体値をもつプロパティにグループ化し、シミュレーションに関連する string および追加データを指定できるプロパティをもちます。
SimulationMetadata
オブジェクト上の ExecutionInfo
プロパティにアクセスします。実行情報には、シミュレーションが停止時間 20
まで警告やエラーなしで実行されたことが示されます。
ans = struct with fields:
StopEvent: 'ReachedStopTime'
StopEventSource: []
StopEventDescription: 'Reached stop time of 20'
ErrorDiagnostic: []
WarningDiagnostics: [0x1 struct]