get
Simulink.SimulationOutput オブジェクト内のシミュレーション結果へのアクセス
説明
例
シミュレーション結果を単一の出力オブジェクトとして返すようにしてモデルをシミュレートすると、すべてのログ データおよびシミュレーション メタデータに Simulink.SimulationOutput オブジェクトを使用してアクセスできます。
この例のモデルでは [単一のシミュレーション出力] パラメーターが有効になっており、いくつかの異なるログ記録方法を使用してデータをログに記録します。
Sine Wave ブロックの出力は、信号のログを使用してログに記録されます。
Gain ブロックの出力は、To Workspace ブロックを使用してログに記録されます。
Gain ブロック、Chirp Signal ブロック、Square Wave Generator ブロックの出力は、Record ブロックを使用してログに記録されます。
Square Wave Generator ブロックの出力は、出力ログを使用してログに記録されます。
モデルは時間データを記録するようにも設定されます。
モデルを開きます。
mdl = "LoggingBlocks";
open_system(mdl)
Simulink.SimulationInput オブジェクトを作成してシミュレーションをモデル用に構成します。関数 setModelParameter を使用して StopTime パラメーターを 20 に設定します。
simin = Simulink.SimulationInput(mdl);
simin = setModelParameter(simin,StopTime="20");モデルのシミュレーションを実行します。sim 関数は、結果をシミュレーションのすべてのログ データが格納された Simulink.SimulationOutput オブジェクトとして返します。ブロックごと、ログのタイプごとのデータは、ブロックまたはモデルで指定されているログ変数の名前と一致するプロパティとして保存されます。
out = sim(simin);
ログ データには、ドット表記、関数 get、または関数 find を使用してアクセスできます。
ドット表記を使用して、To Workspace ブロックを使用してログ記録された信号 Big Sine にアクセスします。
simout = out.simout
timeseries
Common Properties:
Name: 'Big Sine'
Time: [51x1 double]
TimeInfo: [1x1 tsdata.timemetadata]
Data: [51x1 double]
DataInfo: [1x1 tsdata.datametadata]
More properties, Methods
get 関数を使用して、信号ログを使用してログ記録された信号 Sine にアクセスします。
logsout = get(out,"logsout")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 = find(out,"yout")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.
SimulationOutput オブジェクトの SimulationMetadata プロパティ内のシミュレーション メタデータにアクセスします。
simmetadata = out.SimulationMetadata
simmetadata =
SimulationMetadata with properties:
ModelInfo: [1×1 struct]
TimingInfo: [1×1 struct]
ExecutionInfo: [1×1 struct]
UserString: ''
UserData: []
シミュレーション メタデータは Simulink.SimulationMetadata オブジェクトとして返されます。SimulationMetadata オブジェクトは、オブジェクトのプロパティで情報を構造体としてグループ化したものです。
SimulationMetadata オブジェクトの ExecutionInfo プロパティを確認します。実行情報には、シミュレーションが停止時間 20 まで警告やエラーなしで実行されたことが示されます。
simmetadata.ExecutionInfo
ans = struct with fields:
StopEvent: 'ReachedStopTime'
StopEventSource: []
StopEventDescription: 'Reached stop time of 20'
ErrorDiagnostic: []
WarningDiagnostics: [0×1 struct]
入力引数
シミュレーション結果。Simulink.SimulationOutput オブジェクトとして指定します。
返されるシミュレーション データ。string または文字ベクトルとして指定します。
関数 get を使用して、ログ変数の名前を指定することにより、シミュレーションからログ記録されたデータ (信号ログ データ、ログ出力、状態など) にアクセスします。たとえば、既定の信号ログ変数名 logsout を使用するときは、"logsout" と指定して信号ログ データにアクセスします。
例: "logsout"
データ型: char | string
出力引数
シミュレーション結果。次のいずれかの形式で返されます。
timeseriesオブジェクト配列
構造体
戻り引数の形式は、アクセスするデータの型およびシミュレーション用のモデルの構成によって決まります。
バージョン履歴
R2010a で導入R2020a より前は、指定された Simulink.SimulationOutput オブジェクトに指定されたプロパティがない場合、関数 get は空の結果 ([]) を返していました。R2020a 以降は、この状況で、関数 get は警告を発行し、空の結果 ([]) を返していました。R2023a 以降では、関数 get でエラーが発行され、出力引数は返されなくなりました。
Simulink.SimulationOutput オブジェクトに特定のプロパティがあるかどうかを照会するには、関数 find を使用します。関数 find では、オブジェクトにプロパティがない場合に空の結果 ([]) が返され、診断は発行されません。
指定された Simulink.SimulationOutput オブジェクトに指定されたプロパティがない場合、関数 get は警告を発行し、空の結果 ([]) を返します。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)