このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
sldiagnostics
Simulink システムの診断情報を表示する
構文
説明
sldiagnostics(
はコマンド ウィンドウで、次の統計情報を含む Simulink® モデルまたはサブシステムの診断情報を返します。 modelName
)
ブロック カウント — 固有のブロックの名前と数
Stateflow® カウント — 固有の Stateflow オブジェクトの名前と数
モデル サイズ — 状態、出力、入力、直達のフラグ、およびサンプル時間の数
ライブラリ使用率統計 — すべてのライブラリ ブロックと参照ライブラリの名前と数
コンパイル統計 — 各フェーズのコンパイルで使用された時間とメモリ
sldiagnostics(
は、modelName
,option1,...,optionN
)option1,...,optionN
でリストされた診断について、コマンド ウィンドウで Simulink モデルまたはサブシステムの診断情報を返します。たとえば、オプション CountBlocks
を使用すると、モデルまたはサブシステム内の固有のブロックの名前と数がリストされます。
例
診断情報のレポート
Simulink モデルまたはサブシステムの診断情報を生成してコマンド ウィンドウに表示します。
BangBangControlUsingTemporalLogicExample
の例を開いて、ルート モデル sf_boiler
の診断情報を生成します。
openExample('stateflow/BangBangControlUsingTemporalLogicExample'); sldiagnostics('sf_boiler')
モデルを開かず、読み込みもしなかった場合、sldiagnostics
はモデルを読み込んで、診断情報を生成します。
特定の診断情報のレポート
Simulink モデルまたはサブシステムの特定の診断情報を生成してコマンド ウィンドウに表示します。
BangBangControlUsingTemporalLogicExample
の例を開いて、sf_boiler/Bang-Bang Controller
サブシステム内のブロックおよび Stateflow オブジェクトの数に関連した診断情報を生成します。
openExample('stateflow/BangBangControlUsingTemporalLogicExample'); sldiagnostics('sf_boiler/Bang-Bang Controller','CountBlocks','countSF')
モデルを開かず、読み込みもしなかった場合、sldiagnostics
はモデルを読み込んで、診断情報を生成します。
診断情報のレポートと結果の保存
モデルの診断情報を生成し、結果を書式設定されたテキストおよび構造体配列として保存します。
BangBangControlUsingTemporalLogicExample
の例を開いて、ルート モデル sf_boiler
の診断情報を生成します。myReport
および strucRpt
にこれらのレポートを保存します。
openExample('stateflow/BangBangControlUsingTemporalLogicExample'); [myReport,strucRpt] = sldiagnostics('sf_boiler');
モデルを開かず、読み込みもしなかった場合、sldiagnostics
はモデルを読み込んで、診断情報を生成します。
コンパイル時間とメモリの統計のレポート
モデルでコンパイルに使用した時間とメモリを生成し、この情報を使用してモデルの性能を評価します。
コンパイル時間とメモリ使用量のデータ収集
モデル vdp
を読み込みます。
model = 'vdp';
load_system(model);
vdp
のコンパイル時間診断情報を生成し、結果を txtRpt
および strucRpt
に保存します。
[txtRpt,strucRpt] = sldiagnostics(model,'CompileStats');
txtRpt
は vdp
の各フェーズのコンパイル時間と説明を書式設定されたテキストとして保存します。sRpt
は、vdp
の各フェーズで使用されたコンパイル時間とメモリを構造体として保存します。
strucRpt
strucRpt = struct with fields:
Model: 'vdp'
Statistics: [1×200 struct]
strucRpt.Statistics
配列のサイズは、コンパイル中に実行されたコンパイルおよびビルド フェーズの数を示します。フェーズ 20
におけるコンパイル時間とメモリ使用量に関する統計を確認します。
strucRpt.Statistics(20)
ans = struct with fields:
Description: 'Finding and refreshing Model blocks'
CPUTime: 0
WallClockTime: 0.0010
ProcessMemUsage: 0.0430
ProcessMemUsagePeak: 0
ProcessVMSize: 0
レポート情報は以下のとおりです。
CPUTime
CPU が Simulink フェーズをアクティブに処理するのにかかった時間 (秒単位)。
WallClockTime
Simulink プロセスの 1 つのフェーズが完了するまでのリアルタイム経過時間 (秒単位)。WallClockTime
は、CPUtime
、入出力時間、およびプログラミング遅延の合計です。
ProcessMemUsage
Simulink 演算フェーズの実行に使用されたワーキング セット サイズ (メガバイト単位)。プロセスのワーキング セット サイズは、そのプロセス コンテキストに物理的にマッピングされたメモリ容量です。
ProcessMemUsagePeak
Simulink 演算フェーズの実行に使用されたピーク ワーキング セット サイズ (メガバイト単位)。
ProcessVMSize
演算フェーズの開始時に MATLAB™ プロセスにコミットされたバーチャル メモリまたはアドレス空間の量。
モデルの性能解析
次の主要なメトリクスを使用して、vdp
の性能を解析します。
合計経過時間
vdp
の各フェーズの時計時間の合計。合計メモリ
vdp
の各フェーズで使用されたメモリの合計。ピーク メモリ
vdp
のすべてのフェーズのうちの 1 つのフェーズで使用された最大メモリ。
ElapsedTime = sum([strucRpt.Statistics(:).WallClockTime])
ElapsedTime = 10.1960
TotalMemory = sum([strucRpt.Statistics(:).ProcessMemUsage])
TotalMemory = 153.1289
PeakMemory = max([strucRpt.Statistics(:).ProcessMemUsagePeak])
PeakMemory = 35.0273
考慮事項
CompileStats
診断オプションは、モデルを初めて読み込むときに使用する必要があります。そうしないと、sldiagnostics
は以前にコンパイルされたモデルのオブジェクトを再利用してしまうため、モデルの時間とメモリ使用量のレポート値が小さくなります。メモリ使用量統計情報は Microsoft® Windows® プラットフォームでのみ確認できます。
入力引数
modelName
— Simulink モデルの名前またはサブシステムのパス
文字ベクトル | string
診断情報を生成する Simulink モデルの名前またはサブシステムのパス。文字ベクトルまたは string として指定します。
例: 'sf_boiler'
, 'sf_boiler/Bang-Bang Controller'
データ型: char
| string
option1,...,optionN
— 診断オプション
文字ベクトル | string
特定の診断情報セットを表す診断オプション。文字ベクトルまたは string として指定します。一部の診断オプションはルート モデルでのみ機能します。次の表は、診断オプション、互換性のある入力システム タイプ、および予期される出力のリストです。
診断オプション | 入力システム タイプ | 出力 |
---|---|---|
| ルート モデル、ライブラリ、またはサブシステム | システムで使用されている固有のブロックの名前と数。これは、マスク サブシステムで入れ子にされているブロックや非表示のブロックを含みます。 |
| ルート モデル、ライブラリ、またはサブシステム | システムで使用されている固有の Stateflow オブジェクトの名前と数。 |
| ルート モデル | モデルで使用されている状態、出力、入力、直達のフラグ、およびサンプル時間の数。 |
| ルート モデル、ライブラリ、またはサブシステム | システムで参照されているすべてのライブラリ ブロックおよび固有のライブラリの名前と数。 |
| ルート モデル | モデルの各フェーズのコンパイルで使用された時間とメモリ。この情報は、モデルのコンパイル速度とメモリの問題のトラブルシューティングに役立ちます。 |
| ルート モデル |
このオプションは、既定の解析に含まれていないため、明示的に指定しなければなりません。 |
| ルート モデル | すべての診断 ( |
sldiagnostics
は以下の場合に警告を出します。
診断オプションおよび入力システム タイプに互換性がない。
入力システム タイプが Simulink ライブラリである。該当するシステムでは、[ブロック線図の更新] などのモデルのコンパイルを必要とするオプションでは、
sldiagnostics
は診断を生成できません。
例: 'CountBlocks'
データ型: char
| string
出力引数
txtRpt
— 診断レポート
文字ベクトル
Simulink システムの診断情報を書式設定されたテキストとして保存する診断レポート。文字ベクトルとして返されます。
sRpt
— 診断レポート
構造体配列
Simulink システムの診断情報を保存する診断レポート。構造体配列として返されます。この構造体配列には、診断オプションに対応する次のフィールドがあります。
blocks
stateflow
sizes
links
compilestats
rtwbuildstats
データ型: struct
バージョン履歴
R2006a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)