最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

一般的な線形化問題の特定と修正

線形化の結果が予想どおりでない場合、線形化アドバイザーを使用して一般的な線形化の問題を特定することができます。線形化アドバイザーは個々のブロックの線形化について診断情報を収集します。この情報を使用すると次のことが可能です。

  • モデルの線形化された各ブロックについて線形化の詳細と操作点を表示する。

  • 一般的な線形化問題を引き起こす、問題の可能性のあるブロックを特定する。

  • 線形化パス上にあるブロックとないブロック、およびモデルの線形化結果に寄与するブロックを特定する。

  • 線形化の結果で指定の条件を満たすブロックを検索する。

線形化アドバイザーの有効化

診断情報を収集すると線形化のオーバーヘッドが大きくなるため、既定では線形化アドバイザーが無効にされています。診断情報を収集するには、モデルを線形化する前に線形化アドバイザーを有効にしなければなりません。

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

このオプションを選択してモデルを線形化すると、線形化の結果をトラブルシューティングするための [アドバイザー] タブが開きます。

ヒント

診断情報を見やすくするには、[データ ブラウザー] を最小化できます。

[アドバイザー] タブでは診断情報をクエリして、モデルの線形化について考察することができます。これを行うには、[クエリ] セクションで組み込みのクエリを使用するか、[クエリの管理] セクションでカスタム クエリを作成します。

クエリを実行すると、ナビゲーション ツリーにモデルでクエリの検索条件に一致する線形化ブロックがリストされます。ツリーの構造はモデルの階層構造を反映します。

検索条件に一致するすべてのブロックをテーブルに表示するには、ナビゲーション ツリーで最上位モデルの名前をクリックします。サブシステムの名前をクリックして、サブシステム内でクエリを満たすすべてのブロックを表示することもできます。テーブルにある各エントリは 1 つのブロックについての線形化診断をまとめています。

テーブル内の 1 つのブロックの詳細な診断情報を表示するには、対応する行で [ブロック情報] をクリックします。詳しい診断情報を使用して、ブロックの線形化のトラブルシューティングを行えます。詳細については、ブロック線形化のトラブルシューティングを参照してください。

線形化アドバイザーを使用した対話形式のトラブルシューティングの例は、線形解析ツールでの線形化結果のトラブルシューティングを参照してください。

ヒント

特定の線形化についての [アドバイザー] タブを閉じた場合、[プロットと結果] タブで再度開くことができます。

[線形解析ワークスペース] で、トラブルシューティングを行う線形化モデルを選択します。次に [診断の表示] をクリックします。このオプションを使用できるのは、モデルを線形化する前に線形化アドバイザーを有効にした場合のみです。

コマンド ラインでモデルを線形化する際に LinearizationAdvisor オブジェクトを作成することもできます。その場合、関数 advise および find を使用して線形化の結果をトラブルシューティングすることができます。例については、コマンド ラインを使用した線形化の結果のトラブルシューティングを参照してください。

線形化で問題が生じる可能性のあるブロック

トラブルシューティングの開始点として、線形化アドバイザーは一般的な線形化問題につながる可能性のあるブロックについて線形化の診断情報を検索します。問題が生じる可能性のあるブロックは、線形化のパス上にあり、以下のうち少なくとも 1 つの基準を満たしています。

基準説明
線形化診断メッセージをもつブロック診断メッセージは、線形化の一般的な問題に該当する構成または線形化をもつブロックを示しています。
ゼロに線形化するブロックゼロに線形化するブロックは線形化の結果に寄与せず、線形化の結果から他のブロックを削除する可能性があります。
代替の線形化をもつブロック代替の線形化の定義のエラーは診断が難しい場合があります。

線形化パスの詳細については、線形化パスを参照してください。

線形解析ツールでは [アドバイザー] タブが最初に開くときにこれらのブロックの診断情報がリストされます。また、[クエリ] セクションで [線形化のアドバイス] をクリックすると、この診断情報にいつでもアクセスできます。

線形化アドバイザーを使用してこれらのブロック線形化をトラブルシューティングすることができます。診断情報を使用したブロック線形化のトラブルシューティングの詳細については、ブロック線形化のトラブルシューティングを参照してください。

コマンド ラインでは、関数 advise はこれらのブロックの診断情報を返します。

線形化診断メッセージをもつブロック

線形化診断メッセージは、線形化の一般的な問題に対応するプロパティまたは線形化をもつブロックを示します。診断メッセージで特定された線形化問題の修正は、線形化のトラブルシューティングにおける最初のステップとして良い方法です。

診断メッセージが生成されるブロック構成の例には次のようなものがあります。

  • double 型以外の入力または出力信号をもち、定義済みの正確な線形化をもたないブロック。これらのブロックはゼロに線形化し、診断メッセージが生成されます。

  • 不連続点近傍の操作点で線形化される不連続のブロック。そのようなブロックが線形化中にゲインとして扱われない場合、ブロックの線形化に関する診断メッセージが生成されることがあります。

  • ゼロに線形化する入力/出力ペアが少なくとも 1 つあるため、モデル全体の線形化でゼロの入力/出力ペアが生じるブロック。

  • 定義済みの正確な線形化をもたず、数値摂動法をサポートしないため、線形化がサポートされないブロック。

一部の診断メッセージでは、メッセージの線形化問題に対する推奨の解決法が示されます。たとえば、入力信号が Saturation ブロックの飽和制限外にある場合、ブロックの診断メッセージは線形化中にブロックをゲインとして扱うように推奨します。

ゼロに線形化するブロック

線形化問題の一般的な原因として、予期せずゼロのゲインに線形化するブロックが挙げられます。ゼロのブロック線形化の原因を診断するには、次について検討します。

  • すべての対応する診断メッセージ。これらのメッセージによってゼロ線形化の一般的な原因が明らかになり、推奨の解決法が提示されることがあります。

  • ブロック操作点。これは線形化に使用されるモデル操作点におけるブロックの状態と入力の値です。たとえば、Saturation ブロックへの入力がブロックの飽和制限外にあり、このブロックをゲインとして線形化するよう構成していない場合、ブロックはゼロに線形化します。

  • ブロック パラメーター。たとえば、double 型以外の入力や状態を使用するよう構成されているブロックで数値摂動法を使用して線形化を行うと、ブロックはゼロに線形化します。

ゼロのブロック線形化は必ずしも線形化の問題を意味するものではありません。つまり、モデルの予期される操作条件において、ブロックのゼロ線形化が予想される場合もあります。たとえば、Trigonometric Fcn ブロックが関数 sin として構成されていて、モデル操作点での入力値が π/2 の場合、このブロックはゼロに線形化します。

代替の線形化をもつブロック

カスタムのブロック線形化の定義エラーは診断が難しい場合があります。診断メッセージとゼロ線形化に関する問題を修正した後でもモデルが予想どおりに線形化されない場合、モデル内の代替のブロック線形化がすべて正しいことを確認します。

代替のブロック線形化の指定の詳細については、個々のブロックの線形化を指定するタイミングを参照してください。

線形化の結果における特定のブロックの検出

問題が生じる可能性のあるブロックに関連する線形化の問題を修正した後もモデルが予想どおりに線形化しない場合、追加のブロック診断情報について線形化アドバイザーにクエリできます。この情報を使って、モデルの線形化について詳しく知ることができます。たとえば、以下を調べることができます。

  • 数値摂動法を使用して線形化されるブロック。

  • マルチレート モデルでのブロック線形化のサンプリング レート (指定されたサンプル時間をもつブロックの検出による)。

  • 線形化の問題につながる可能性のある遅延をもつブロック。

  • 線形化パス上にないブロック。

詳細については、線形化の結果で特定の条件に一致するブロックの検出を参照してください。

線形化パス

線形化パスは、Simulink® モデルで線形化入力から線形化出力までをグラフィカルにつなぎます。少なくとも 1 つの線形化入力が少なくとも 1 つの線形化出力にブロックを通じて接続されている場合、そのブロックは線形化パス上にあります。線形化の入力と出力の指定の詳細については、モデルの一部を線形化するよう指定を参照してください。

ブロックが線形化パス上にある場合、その線形化はモデル全体の線形化に寄与する可能性があります。ゼロに線形化するブロックはモデルの線形化に寄与せず、線形化パスの分岐がモデルの線形化に寄与するのを妨げることがあります。

線形化パス上にないブロックであっても、他のブロックの操作点やパラメーターを変更することによって他のブロックの線形化 (したがってモデル全体の線形化) に影響する可能性もあります。たとえば、青で強調表示された線形化パス上にある次の Product ブロックについて考えます。

定数ブロックは線形化パスにありません。ただし、定数の値は Product ブロックの操作点に影響するため、結果として Product ブロックの最初の入力から出力への線形化に影響します。

線形化パスの強調表示

線形化パスを可視化してモデルの線形化に寄与するブロックを表示するには、線形化アドバイザーを使用して Simulink モデルで線形化パスを強調表示することができます。少なくとも 1 つの線形化入力からブロックを通過して少なくとも 1 つの線形化出力にいたる信号パスが存在する場合、そのブロックは線形化パス上にあります。

線形化アドバイザーを有効にしてモデルを線形化した後、線形化パスを強調表示するには、線形解析ツールの [アドバイザー] タブで [線形化パスの強調表示] をクリックします。

モデルで線形化パスが強調表示され、どのブロックがパス上にあるか、およびどのブロックがモデルの線形化に寄与するかが示されます。ブロックの強調表示は色分けされています。

  • 青は線形化パス上にあり、モデルの線形化に数値的な影響を与えます。

  • 赤は線形化パス上にありますが、線形化パス上の少なくとも 1 つのブロックがゼロに線形化されるため、モデルの線形化には影響を与えません。

  • グレーは線形化パス上になく、モデルの線形化にも寄与しないことを意味します。

強調表示をオフにするには、[線形化パス] ダイアログ ボックスを閉じます。

コマンド ラインで関数 highlight を使用して線形化パスを強調表示することもできます。

バッチ線形化のトラブルシューティング

複数の操作点でモデルを線形化する場合、線形化アドバイザーを使用して、結果の各線形モデルのトラブルシューティングを行うことができます。

モデルのバッチ線形化を行った後、[アドバイザー] タブの [操作点の選択] ドロップダウン リストで、線形化をトラブルシューティングする操作点を選択します。

モデルのバッチ線形化で使用した方法に応じて次のようになります。

  • パラメーターの変化を使用した場合、線形化の概要に、選択した操作点に対応するパラメーター値が表示されます。

  • 複数のシミュレーション スナップショット時間を使用した場合、線形化の概要に、モデルが線形化された時間が表示されます。

  • 複数の平衡化した操作点を使用した場合、線形化の概要には操作点に関する追加情報が表示されません。操作点に関する詳細を表示するには、[線形解析] タブの [操作点] ドロップダウン リストで、線形解析に使用した操作点配列を選択します。同じドロップダウン リストで [編集] を選択します。

    次に [編集] ダイアログ ボックスで、[操作点の選択] ドロップダウン リストから操作点を選択します。このドロップダウン リストの操作点の位置は、[アドバイザー] タブのドロップダウン リストでの位置に対応します。

参考

アプリ

関数

関連するトピック