このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。
シミュレーションに関する情報の表示
ブロック I/O の表示
デバッガーを使用して、デバッガー ツール バーの適切なボタンを選択することで、ブロック I/O を表示できます。
または、適切なデバッガー コマンドを入力することによっても可能です。
次のコマンド... | ブロックの I/O を表示... |
---|---|
probe | 即時表示 |
disp | 実行の停止時にブレークポイントごとに表示 |
trace | ブロックの実行時に表示 |
メモ
Watch ブロック I/O () および Display ブロック I/O (
) という 2 つのデバッガー ツール バー ボタンは、それぞれ
trace gcb
と probe gcb
に対応しています。probe
と disp
コマンドは、デバッガーのツール バー ボタンとは 1 対 1 で対応していません。
選択したブロックの I/O を表示
ブロックの I/O を表示するには、ブロックを選択し、GUI モードで をクリックするか、コマンド ライン モードで
probe
コマンドを入力します。以下の表では、probe gcb
コマンドには対応するツール バー ボタンが用意されています。その他のコマンドにはこのようなボタンは用意されていません。
コマンド | 説明 |
---|---|
|
|
| 選択したブロックの I/O を表示します。 |
| システム番号 |
デバッガーは、デバッガーの [出力] ペイン (GUI モード) または MATLAB® 製品のコマンド ウィンドウに選択したブロックの現在の入力、出力、および状態を表示します。
probe
コマンドは、I/O が表示されていないブロックの I/O を調べる必要があるときに役立ちます。たとえば、メソッド単位でモデルを実行するコマンド step
を使用するとします。モデルが段階的に実行されるたびに、デバッガーは現在のブロックの入出力を表示します。probe
コマンドを使用して、他のブロックの I/O も調べることができます。
ブロック I/O をブレークポイントで自動的に表示
disp
コマンドは、シミュレーションを停止したときに指定したブロックの入出力を表示します。ブロックを指定するには、ブロックのインデックスを入力し、disp
コマンドの引数として gcb
を入力します。undisp
コマンドを使用して、表示点のデバッガーのリストからブロックを削除できます。たとえば、block 0:0
を削除するには、「undisp 0:0
」と入力します。
メモ
ブレークポイントでのブロック I/O の自動表示は、デバッガーの GUI モードでは使用できません。
disp
コマンドは、シミュレーションを段階的に実行するときに特定のブロックや複数のブロックの I/O を監視する必要があるときに役立ちます。disp
コマンドを使用して、監視するブロックを指定することができ、デバッガーはその後各ステップにおいてそれらのブロックの I/O を再表示します。デバッガーは、step
コマンドを使用してブロックごとにモデルを実行するときには、現在のブロックの I/O を常に表示します。現在のブロックの I/O のみを監視することに興味がある場合には、disp
コマンドを使用する必要はありません。
ブロック I/O の監視
ブロックを監視するには、ブロックを選択して、デバッガー ツール バーで をクリックするか、
trace
コマンドを入力します。GUI モードでは、ブレークポイントがブロックに存在する場合は、[ブレーク/表示ポイント] ペインでブロックに対する監視 チェック ボックスをオンにすることで、監視を設定できます。コマンド ライン モードでは、
trace
コマンドでブロック インデックスを指定することで、ブロックを指定することもできます。untrace
コマンドを使用して、トレース ポイントのデバッガーのリストからブロックを削除できます。
デバッガーは、ブロックが実行するときに監視されているブロックの I/O を表示します。ブロックを監視することで、シミュレーションを停止せずにブロックの I/O の完全な記録を得ることができます。
代数ループ情報の表示
atrace
コマンドを使用して、モデルの代数ループが解かれるたびに代数ループに関する情報をデバッガーに表示します (代数ループの概念を参照)。コマンドは、表示する情報量を指定する単一の引数をもちます。
次のコマンド... | 各代数ループの表示... |
---|---|
atrace 0 | 代数ループに関する情報を表示しません。 |
atrace 1 | ループ変数解、ループを解くのに必要となる反復回数、推定される解の誤差を表示します。 |
atrace 2 | レベル 1 と同等の情報を表示します。 |
atrace 3 | レベル 2 の情報に加え、ループを解くのに使用するヤコビ行列に関する情報を表示します。 |
atrace 4 | レベル 3 の情報に加え、ループ変数の中間解に関する情報を表示します。 |
システムの状態の表示
デバッグ コマンドは、MATLAB コマンド ウィンドウにシステムの状態の現在の値を一覧表示します。たとえば、下記の一連のコマンドで、跳ねるボールの例 (states
sldemo_bounce
) における最初、2 番目、3 番目のタイム ステップ後の状態が表示されます。ただし、デバッガーを開始する前に、[コンフィギュレーション パラメーター] ダイアログ ボックスを開き、[ブロック削減] チェック ボックスと [信号ストレージの再利用] チェック ボックスをオフにしてください。
sldebug sldemo_bounce %----------------------------------------------------------------% [TM = 0 ] simulate(sldemo_bounce) (sldebug @0): >> step top %----------------------------------------------------------------% [TM = 0 ] sldemo_bounce.Outputs.Major (sldebug @16): >> next %----------------------------------------------------------------% [TM = 0 ] sldemo_bounce.Update (sldebug @23): >> states Continuous States: Idx Value (system:block:element Name 'BlockName') 0 10 (0:4:0 CSTATE 'sldemo_bounce/Second-Order Integrator') 1. 15 (0:4:1) (sldebug @23): >> next %----------------------------------------------------------------% [Tm = 0 ] solverPhase (sldebug @26): >> states Continuous States: Idx Value (system:block:element Name 'BlockName') 0 10 (0:4:0 CSTATE 'sldemo_bounce/Second-Order Integrator') 1. 15 (0:4:1) (sldebug @26): >> next %----------------------------------------------------------------% [TM = 0.01 ] sldemo_bounce.Outputs.Major (sldebug @16): >> states Continuous States: Idx Value (system:block:element Name 'BlockName') 0 10.1495095 (0:4:0 CSTATE 'sldemo_bounce/Second-Order Integrator') 1. 14.9019 (0:4:1)
ソルバー情報の表示
strace
コマンドを使用すると、モデルの微分方程式を解く際にシミュレーションのパフォーマンスを低下させる問題を特定できます。このコマンドを実行すると、シミュレーションを実行したり、ステップごとに実行したりする場合、デバッガーはソルバーに関連した情報を MATLAB 製品のコマンド ラインに表示できます。この情報には、ソルバーが使用したステップ サイズ、ステップ サイズに起因する推定された積分誤差、ステップ サイズが成功したかどうか (すなわち、モデルが指定する正確さを満たしたかどうか)、ソルバーによりリセットされた時間などの情報が含まれます。モデルをシミュレーションするために必要な時間について注意を必要とする場合、この情報は、ユーザーが選択したソルバーが不適かどうか、つまり、他のソルバーを選択すると、モデルを解くのに要する時間が短縮される可能性があるかどうかを判断するうえで役に立ちます。