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)

入力引数
関数 sltrace を使用して作成された信号トレース パス情報。sltrace.Graph オブジェクトとして指定します。
強調表示するブロックと信号線。ブロック ハンドル、ライン ハンドル、またはブロック ハンドルとライン ハンドルの配列として指定します。関数 highlight を使用して、オブジェクトが表すトレース パス上にないブロックや信号線など、sltrace.Graph オブジェクトに対応するモデル内の任意のブロックを強調表示できます。
バージョン履歴
R2021b で導入
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)