highlight
説明
例
信号のすべてのソースのトレース
この例のモデルは、ファン デル ポール (vdp) の 2 階微分方程式を実装しています。
,
ここで、 はシステム内の減衰を表します。
モデル vdp
を開きます。モデルで、信号 x1
は の 1 階微分を表します。信号 x2
は の 2 階微分を表します。
mdl = "vdp";
open_system(mdl)
関数 sltrace
を使用して、信号 x2
のすべてのソース ブロックをトレースします。この信号は、x1
という名前の Integrator ブロックの入力信号です。
x2Sources = sltrace((mdl + "/x1"),"Source",Port=1,TraceAll="on");
信号のすべてのソースをトレースすると、関数 sltrace
が返す sltrace.Graph
オブジェクトには、指定したブロックの入力信号を生成するブロック以外の情報も含まれます。sltrace.Graph
オブジェクトには、トレースした信号の値に影響する出力値を生成するすべてのブロックの情報が含まれています。
length(x2Sources.SrcBlocks)
ans = 10
ブロック線図で信号パスを確認するには、関数 highlight
を使用して、sltrace.Graph
オブジェクト x2Sources
内のすべてのソース ブロックを強調表示します。ブロック線図内では、sltrace.Graph
オブジェクト内のソース ブロックとそれらを接続する信号が、黄色で強調表示されます。ブロックを強調表示すると、キャンバスもシェーディングされて濃いグレーになり、強調表示がより見やすくなります。
highlight(x2Sources)
sltrace.Graph
オブジェクトには、ソース ブロック間の接続の解析に使用できる digraph
オブジェクトが含まれています。グラフ内の各ノードはブロック端子を表し、それぞれのエッジ (ライン) は信号線を表します。
plot(x2Sources.TraceGraph)
sltrace.Graph
オブジェクトが得られたら、関数 highlight
を使用して、sltrace.Graph
オブジェクト内の信号トレース情報の一部ではないブロックや信号線など、モデル内の任意のブロックや信号線を強調表示できます。たとえば、Scope ブロックと、Scope ブロックの入力端子に接続されている信号線を強調表示します。
関数 get_param
を使用して、Scope ブロックのブロック ハンドルを取得します。
scopePath = mdl + "/Scope"; scopeHandle = get_param(scopePath,"Handle");
関数 get_param
を使用して、Scope ブロックの端子ハンドルを取得します。
scopePorts = get_param(scopePath,"PortHandles");
関数 get_param
を使用して、Scope ブロックの各入力端子に接続されている信号線のライン ハンドルを取得します。
scopeIn1 = scopePorts.Inport(1); scopeIn1 = get_param(scopeIn1,"Line"); scopeIn2 = scopePorts.Inport(2); scopeIn2 = get_param(scopeIn2,"Line");
関数 highlight を使用して、ブロック線図内の要素を強調表示します。ブロック線図内では、Scope ブロックと Scope ブロックの入力信号は赤で強調表示されています。この場合も、信号 x2
のソースは黄色で強調表示されています。
highlight(x2Sources,[scopeHandle scopeIn1 scopeIn2])
強調表示を解除するには、関数 removeHighlight
を使用します。関数は、sltrace.Graph
オブジェクトに関連付けられているすべての強調表示をブロック線図内で解除します。ブロック線図の強調表示が解除されると、キャンバスのシェーディングも解除されます。
removeHighlight(x2Sources)
入力引数
g
— グラフ オブジェクト
sltrace.Graph
オブジェクト
関数 sltrace
を使用して作成された信号トレース パス情報。sltrace.Graph
オブジェクトとして指定します。
t
— 強調表示するブロックと信号線
ブロック ハンドル | ライン ハンドル | ブロック ハンドルおよびライン ハンドルの配列
強調表示するブロックと信号線。ブロック ハンドル、ライン ハンドル、またはブロック ハンドルとライン ハンドルの配列として指定します。関数 highlight
を使用して、オブジェクトが表すトレース パス上にないブロックや信号線など、sltrace.Graph
オブジェクトに対応するモデル内の任意のブロックを強調表示できます。
バージョン履歴
R2021b で導入
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)