ヘルプ センターヘルプ センター
モデル内の代数ループを特定および解析する
l = Simulink.BlockDiagram.getAlgebraicLoops(mdl)
[l,h] = Simulink.BlockDiagram.getAlgebraicLoops(mdl)
例
l = Simulink.BlockDiagram.getAlgebraicLoops(mdl) はモデル mdl 内の代数ループを特定し、代数ループ ビューアーを開いて、モデル内の代数ループを強調表示し、モデル内のすべての代数ループに関する情報を 1 つ以上の AlgebraicLoop オブジェクトとして返します。
l
mdl
AlgebraicLoop
代数ループ ビューアーを使用して、モデル内でどの代数ループを強調表示するかを制御し、次のような代数ループに関する情報を表示できます。
モデル内の代数ループの数
各代数ループが真なのか疑似なのか
各代数ループのループ ID
[l,h] = Simulink.BlockDiagram.getAlgebraicLoops(mdl) は、代数ループ ビューアーの Figure ウィンドウのハンドルを返します。
h
すべて折りたたむ
モデル ex_sldemo_hydcyl を開きます。
ex_sldemo_hydcyl
mdl = "ex_sldemo_hydcyl"; open_system(mdl)
モデル内で代数ループが検出されたときに代数ループ診断が警告を出すように構成されているか、診断を出さないように構成されているかを確認します。エラーを出すようにモデルを構成した場合、エラーが発生すると、モデルのコンパイルが停止します。
モデルで構成されている診断動作を確認するには、次のようにします。
[コンフィギュレーション パラメーター] ダイアログ ボックスを開きます。[モデル化] タブの [設定] で、[モデル設定] をクリックします。
[診断] ペインを選択します。
[代数ループ] パラメーター値が none または warning になっていることを確認します。
none
warning
あるいは、関数 set_param を使用して、パラメーター値を指定します。
set_param
set_param(mdl,"AlgebraicLoopMsg","none");
モデル内の代数ループを検出して強調表示できるのは、モデルをコンパイルした後のみです。
関数 set_param を使用して、モデルをコンパイルするコマンドを実行します。
set_param(mdl,"SimulationCommand","update")
関数 Simulink.BlockDiagram.getAlgebraicLoops を使用して、モデル内の代数ループを検出して強調表示します。代数ループ ビューアーが開き、モデルに代数ループが 1 つあることが示されます。
Simulink.BlockDiagram.getAlgebraicLoops
algLoops = Simulink.BlockDiagram.getAlgebraicLoops(mdl);
代数ループはブロック線図で強調表示されます。
関数 Simulink.BlockDiagram.getAlgebraicLoops は、代数ループに関する情報を AlgebraicLoop オブジェクトとして返します。
algLoops
algLoops = AlgebraicLoop with properties: Model: [1x1 Simulink.BlockDiagram] Id: [0 1] VariableBlockHandles: [2x1 double] BlockHandles: [9x1 double] IsArtificial: 0
代数ループの解析を行うモデル。以下として指定します。
モデルの名前を定義する string または文字ベクトル
モデル ハンドル
現在のモデルのハンドルを取得するには、関数 bdroot を使用します。
bdroot
指定したモデルはコンパイル済みでなければなりません。
データ型: char | string
char
string
モデル内の代数ループに関する情報。AlgebraicLoop オブジェクト、または AlgebraicLoop オブジェクトの配列として返されます。
AlgebraicLoop オブジェクトには次のプロパティがあります。
Model — モデルを表す Simulink.BlockDiagram オブジェクト
Model
Simulink.BlockDiagram
Id — モデル内の代数ループを一意的に識別する数値配列
Id
VariableBlockHandles — ループ内の代数変数に関連付けられたブロックのブロック ハンドルの配列
VariableBlockHandles
BlockHandles — 代数ループ内のすべてのブロックのブロック ハンドルの配列
BlockHandles
IsArtificial — 代数ループが疑似かどうかを示す logical 値
IsArtificial
matlab.ui.Figure
代数ループ ビューアーの Figure ウィンドウのハンドル。matlab.ui.Figure ハンドルとして返されます。
代数ループ ビューアーのハンドルを使用すると、プログラムによる代数ループ ビューアーの操作ができます。詳細については、Figure のプロパティを参照してください。
R2015a で導入
次の 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:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office