Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

線形化の結果で特定の条件に一致するブロックの検出

Simulink® モデルを線形化する際、線形化アドバイザーを使用して、線形化の結果で特定の条件に一致するブロックを見つけることができます。次のようなブロックを検出するための検索条件を指定できます。

  • モデルが予想どおりに線形化されない場合、モデル内で線形化の問題を引き起こしている可能性のあるブロック。線形化アドバイザーを使用した線形化の問題の特定と修正の詳細については、一般的な線形化問題の特定と修正を参照してください。

  • モデルが予想どおりに線形化された場合であっても、モデルの線形化について詳細を理解するのに役立つブロック。

コマンド ラインで関数 find を使用して線形化アドバイザーをクエリすることもできます。例については、コマンド ラインを使用した線形化の結果のトラブルシューティングを参照してください。

線形化の結果を検索するには線形化の診断情報が必要です。この情報を収集するには、モデルの線形化を行う前に線形化アドバイザーを有効にしなければなりません。

線形化アドバイザーを有効にするには、モデル線形化器[線形解析] タブで [線形解析アドバイザー] を選択します。

このオプションを選択してモデルを線形化すると、線形化の結果をトラブルシューティングするための [アドバイザー] タブが開きます。その後、線形化アドバイザーを使用してクエリを実行し、線形化の結果から対象のブロックを見つけることができます。

対象のブロックを検出した後、線形化の診断情報を使用して個々のブロック線形化について調査できます。詳細については、ブロック線形化のトラブルシューティングを参照してください。

組み込みクエリの実行

線形化アドバイザーには線形化の結果を検索するための一連の組み込みクエリが用意されています。これらのクエリは線形化で問題を引き起こす可能性のあるブロックを見つけるのに役立ちます。これらのクエリのいずれかを実行するには、[アドバイザー] タブの [クエリ] セクションでクエリをクリックします。

組み込みクエリ検出するブロックの特徴
線形化のアドバイス線形化で問題が生じる可能性がある。このクエリは [アドバイザー] タブが開くときに既定で実行されます。
パス上の診断線形化パス上にあり、自らの線形化に関する診断メッセージをもつ。このクエリは [線形化のアドバイス] クエリのサブセットです。
パス上の置換線形化パス上にあり、カスタムのブロック線形化が指定されている。このクエリは [線形化のアドバイス] クエリのサブセットです。
パス上の零点と I/O のペア線形化パス上にあり、ゼロに線形化する入力/出力ペアを少なくとも 1 つもつ。
パス上のすべてのブロック線形化パス上にある (少なくとも 1 つの線形化入力が少なくとも 1 つの線形化出力にブロックを通じて接続されている)。

クエリの作成と実行

線形化アドバイザーにはモデルを検索するための一連の単純なクエリも用意されています。これらのクエリは単独で実行するか、複合クエリを作成するために使用することができます。

単純なクエリ検出するブロックの特徴
すべてのブロック線形化モデル内にある。
0 に線形化ゼロに線形化する。
ブロック置換カスタムのブロック線形化が指定されている。
線形化パス上線形化パス上にある。
線形化に寄与モデルの線形化結果に数値的に寄与する。
厳密定義された正確な線形化を使用して線形化される。
摂動数値摂動法を使用して線形化される。
診断あり自らの線形化に関する診断メッセージをもつ。
'BlockType' ブロック指定されたタイプである。
'Nu' 個の入力あり指定された数の入力をもつ。
'Nx' 個の状態あり指定された数の状態をもつ。
'Ny' 個の出力あり指定された数の出力をもつ。
'Ts' のサンプル時間あり指定されたサンプル時間をもつ。
零点と I/O のペアありゼロに線形化する入力/出力ペアを少なくとも 1 つもつ。

単純なクエリを実行するには、モデル線形化器[アドバイザー] タブで [新しいクエリ] をクリックします。

[クエリ ビルダー] ダイアログ ボックスでクエリを構成します。たとえば、線形化の結果に数値的に寄与するすべてのブロックを検出するクエリを作成します。

  1. [クエリ名] フィールドで、クエリの名前を Contributes に指定します。

  2. ドロップダウン リストで [線形化に寄与] を選択します。

  3. 次のクエリのいずれかを選択する場合、対応する検索パラメーターを指定します。

    クエリ検索パラメーター
    'BlockType' ブロックブロック タイプ — このパラメーターはブロックの blocktype プロパティに対応します。詳細については、linqueryIsBlockType を参照してください。
    'Nu' 個の入力あり入力 — 正の整数を指定します。
    'Nx' 個の状態あり状態 — 正の整数を指定します。
    'Ny' 個の出力あり出力 — 正の整数を指定します。
    'Ts' のサンプル時間ありサンプル時間 — 非ゼロのスカラーを指定します。連続時間ブロックを検出するには 0 を指定します。
  4. クエリを作成して実行するには、[クエリの実行] をクリックします。クエリが実行され、[アドバイザー] タブにモデルの線形化に寄与するブロックのリストが表示されます。

    クエリが [クエリ] セクションに追加されます。

[And][Or]、および [Not] 論理演算子を使ってクエリを論理的に組み合わせることにより、複合クエリを作成することもできます。単純なクエリ、組み込みクエリ、または他の複合クエリを使用して複合クエリを作成できます。

複合クエリを作成するには、[クエリ ビルダー] ダイアログ ボックスで複数の検索条件を使用してクエリを構成します。たとえば、線形化パス上にあるすべての離散時間ブロックを検出するクエリを作成します。

  1. [クエリ名] フィールドで、クエリの名前を Discrete on Path に指定します。

  2. 線形化パス上にあるブロックを検出するには、ドロップダウン リストで [線形化パス上] を選択します。

  3. 別の検索条件を追加するには [クエリに追加] をクリックします。検索条件に 2 行目が追加されます。既定では [And] 演算を使って検索条件が組み合わされます。

  4. 離散時間ブロックを検出するには、まず連続時間ブロックを見つける検索条件を追加します。2 行目のドロップダウン リストから、['Ts' のサンプル時間あり] を選択します。[サンプル時間] は既定値の 0 のままにします。

  5. 離散時間ブロックを検出するには、2 行目で [Not] を選択します。

  6. [クエリの実行] をクリックします。

カスタム クエリを作成するたびに、[クエリ ビルダー] ダイアログ ボックスの検索条件ドロップダウン リストにそのクエリが追加されます。これらのカスタム クエリを使用して、さらに複雑なクエリを作成することが可能です。たとえば、線形化パス上にある、数値摂動法を使用して線形化される離散時間ブロックを見つけるには、[And] 演算を使って [Discrete on Path] カスタム クエリと [Perturbed] 単純クエリを組み合わせるクエリを作成します。

参考

アプリ

関数

関連するトピック