最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

シミュレーションに関する情報の表示

ブロック I/O の表示

デバッガーを使用して、デバッガー ツール バーの適切なボタンを選択することで、ブロック I/O を表示できます。

または、適切なデバッガー コマンドを入力することによっても可能です。

次のコマンド...ブロックの I/O を表示...
probe

即時表示

disp

実行の停止時にブレークポイントごとに表示

trace

ブロックの実行時に表示

メモ

Watch ブロック I/O () および Display ブロック I/O () という 2 つのデバッガー ツール バー ボタンは、それぞれ trace gcbprobe gcb に対応しています。probedisp コマンドは、デバッガーのツール バー ボタンとは 1 対 1 で対応していません。

選択したブロックの I/O を表示

ブロックの I/O を表示するには、ブロックを選択し、GUI モードで をクリックするか、コマンド ライン モードでは probe コマンドを入力します。以下の表では、probe gcb コマンドには対応するツール バー ボタンが用意されています。その他のコマンドにはこのようなボタンは用意されていません。

コマンド説明

probe

probe モードに入るか、または抜けます。任意のコマンドをタイプすると、デバッガーは probe モードから抜けます。

probe gcb

選択したブロックの I/O を表示します。 と同じです。

probe s:b

システム番号 s およびブロック番号 b で指定されたブロックの 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 の情報に加え、ループ変数の中間解に関する情報を表示します。

システムの状態の表示

states デバッグ コマンドは、MATLAB コマンド ウィンドウにシステムの状態の現在の値を一覧表示します。たとえば、下記の一連のコマンドで、跳ねるボールの例 (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 製品のコマンド ラインに表示できます。この情報には、ソルバーが使用したステップ サイズ、ステップ サイズに起因する推定された積分誤差、ステップ サイズが成功したかどうか (すなわち、モデルが指定する正確さを満たしたかどうか)、ソルバーによりリセットされた時間などの情報が含まれます。モデルをシミュレーションするために必要な時間について注意を必要とする場合、この情報は、ユーザーが選択したソルバーが不適かどうか、つまり、他のソルバーを選択すると、モデルを解くのに要する時間が短縮される可能性があるかどうかを判断するうえで役に立ちます。

関連する例

詳細