Main Content

getBlockPaths

LinearizationAdvisor オブジェクト内のブロックのリストの取得

説明

Simulink® モデルを線形化する際、個々のブロック線形化に関する診断情報が含まれる LinearizationAdvisor オブジェクトを作成できます。このオブジェクトは線形化の結果のトラブルシューティングに使用できます。LinearizationAdvisor オブジェクト内のブロックのリストを取得するには、関数 getBlockPaths を使用します。

blocks = getBlockPaths(advisor) は、LinearizationAdvisor オブジェクト advisor 内にあるブロックのブロック パスのリストを返します。

すべて折りたたむ

Simulink モデルを読み込みます。

mdl = 'scdspeed';
load_system(mdl)

モデルを線形化して LinearizationAdvisor オブジェクトを取得します。

opts = linearizeOptions('StoreAdvisor',true);
io(1) = linio('scdspeed/throttle (degrees)',1,'input');
io(2) = linio('scdspeed/rad//s to rpm',1,'output');
[sys,op,info] = linearize(mdl,io,opts);
advisor = info.Advisor;

線形化の結果で数値的に摂動されたすべてのブロックを見つけます。

perturbed = find(advisor,linqueryIsNumericallyPerturbed);

数値的に摂動されたブロックのリストを取得します。

blocks = getBlockPaths(perturbed)
blocks = 6x1 cell
    {'scdspeed/Throttle & Manifold/Intake Manifold/Convert to mass charge'}
    {'scdspeed/Combustion/Torque Gen'                                     }
    {'scdspeed/Combustion/Torque Gen2'                                    }
    {'scdspeed/Throttle & Manifold/Intake Manifold/Pumping1'              }
    {'scdspeed/Throttle & Manifold/Throttle/f(theta)'                     }
    {'scdspeed/Throttle & Manifold/Throttle/g(pratio)'                    }

入力引数

すべて折りたたむ

ブロック線形化の診断情報。LinearizationAdvisor オブジェクトまたは LinearizationAdvisor オブジェクトの配列として指定します。

出力引数

すべて折りたたむ

advisor 内のブロックのブロック パス。advisor が単一の LinearizationAdvisor オブジェクトである場合、文字ベクトルの cell 配列として返されます。advisorLinearizationAdvisor オブジェクトの配列である場合、blocks は、各要素が文字ベクトルの cell 配列である advisor と同じ次元をもつ cell 配列になります。

バージョン履歴

R2017b で導入