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)