Main Content

linqueryAdvise

線形化で問題が生じる可能性のあるブロックを検出するためのクエリ オブジェクト

説明

linqueryAdvise は、線形化で問題が生じる可能性のあるブロックを線形化の結果から検出するためのカスタムのクエリ オブジェクトを作成します。

Simulink® モデルを線形化する際、個々のブロック線形化に関する診断情報を含む LinearizationAdvisor オブジェクトを作成できます。特定の条件を満たすブロック線形化を検出するには、カスタム クエリ オブジェクトを指定して関数 find を使用します。あるいは、モデル線形化器で線形化アドバイザーを使用して線形化の診断を解析することもできます。線形化の結果から特定のブロックを検出する方法の詳細については、線形化の結果で特定の条件に一致するブロックの検出を参照してください。

linqueryAdvise オブジェクトを指定した関数 find の使用は、関数 advise を使用することと等価です。

作成

説明

query = linqueryAdvise は、線形化で問題が生じる可能性のあるすべてのブロックを LinearizationAdvisor オブジェクトから検出するクエリ オブジェクトを作成します。

プロパティ

すべて展開する

クエリ タイプ。'Linearization Advice' として指定します。

クエリの説明。'Blocks that are Potentially Problematic for Linearization' として指定します。このプロパティを使用してクエリ オブジェクトに独自の説明を追加できます。

使用法

linqueryAdvise クエリ オブジェクトを作成した後、次を行うことができます。

  • linqueryAdvise クエリを find コマンドで直接使用して、LinearizationAdvisor オブジェクト内にある、線形化で問題が生じる可能性のあるブロックをすべて検出します。

  • linqueryAdvise クエリを他のクエリ オブジェクトと論理的に組み合わせて、CompoundQuery オブジェクトを作成します。

オブジェクト関数

find線形化の結果で特定の条件を満たすブロックを検出

すべて折りたたむ

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

mdl = 'scdpendulum';
load_system(mdl)

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

opts = linearizeOptions('StoreAdvisor',true);
io = getlinio(mdl);
[sys,op,info] = linearize(mdl,io,opts);
advisor = info.Advisor;

クエリ オブジェクトを作成し、線形化の問題をもつ可能性のある線形化されたブロックをすべて検出します。

qAdvise = linqueryAdvise;
advAdvise = find(advisor,qAdvise)
advAdvise = 
  LinearizationAdvisor with properties:

               Model: 'scdpendulum'
      OperatingPoint: [1x1 opcond.OperatingPoint]
    BlockDiagnostics: [1x3 linearize.advisor.BlockDiagnostic]
           QueryType: 'Linearization Advice'

アルゴリズム

linqueryAdvise オブジェクトの作成は、次のカスタム クエリを作成することと等価です。

qPath     = linqueryIsOnPath;
qZero     = linqueryIsZero;
qBlkRep   = linqueryIsBlockSubstituted;
qDiags    = linqueryHasDiagnostics;
  
q = qPath & (qZero | qDiags | qBlkRep);
 
advisor_new = find(advisor,q);

代替機能

アプリ

モデル線形化器の線形化アドバイザーを使用して、線形化の結果で特定のブロックを見つけるカスタム クエリを作成することもできます。詳細については、線形化の結果で特定の条件に一致するブロックの検出を参照してください。

バージョン履歴

R2017b で導入