Main Content

定常状態マネージャーを使用した仕様からの操作点の計算

モデルの状態、出力、および入力に対する制約を指定して、これらの制約を満たすモデルの操作条件を検出することにより、Simulink® モデルの定常状態の操作点を計算できます。定常状態の操作点の詳細については、操作点についておよび定常状態の操作点の計算を参照してください。

Simulink モデルの操作点を見つけるには、この例に示すように、定常状態マネージャーを使用してモデルを対話的に平衡化することができます。

あるいは、次の方法でモデルを平衡化できます。

この例では、出力仕様を満たす操作点を計算します。同様の方法を使用して、状態や入力の仕様を定義できます。また、状態、出力、および入力の仕様の組み合わせを定義することもできます。したがって、たとえば状態仕様のみを使用する必要はありません。

仕様を満たすモデルの平衡化の詳細については、仕様からの定常状態の操作点の計算を参照してください。

定常状態マネージャーを開く

Simulink モデルを開きます。

sys = 'scdspeed';
open_system(sys)

定常状態マネージャーを開くには、Simulink モデル ウィンドウの [アプリ] ギャラリーで [定常状態マネージャー] をクリックします。

操作点の仕様の定義

操作点の仕様を作成するには、定常状態マネージャー[定常状態] タブで [仕様の平衡化] をクリックします。

データ ブラウザーの [仕様] セクションに、ソフトウェアによって既定の操作点の仕様である spec1 が追加されます。また、[仕様] タブが、対応する [spec1] ドキュメントとともに開きます。

[spec1] ドキュメントのナビゲーション ツリーで、追加する仕様のタイプを選択します。この例では、出力仕様を使用して、エンジン速度が 2000 rpm に固定される定常状態の操作点を見つけようとしています。したがって、[出力] をクリックします。

このモデルはルートレベルの出力端子や定義されている平衡化の出力制約をもたないため、操作点の仕様には出力がありません。操作点の仕様に出力を追加するには、[仕様] タブで [出力の追加] をクリックします。

[出力仕様を追加] ダイアログ ボックスで、出力の仕様を追加する信号を指定します。リストに信号を追加するには、Simulink モデル ウィンドウで、rad/s to rpm ブロックの出力信号をクリックします。そうすると、[出力仕様を追加] ダイアログ ボックスに信号が追加されます。

[信号の追加] をクリックします。

ソフトウェアによって spec1 にこの信号が出力の仕様として追加されます。仕様を表示して変更するには、[spec1] ドキュメントで [出力] をクリックします。

選択した信号が、出力の仕様テーブルでそのソース ブロックの名前の下にリストされます。

ヒント

モデル内で特定の状態、入力、または出力の仕様に関連付けられているブロックに移動するには、仕様テーブルで、ブロック名をクリックします。

既知の速度値を指定します。[spec1] ドキュメントの [既知] 列で対応する行を選択して、[値] 列で既知の値を 2000 に設定します。

モデルの平衡化

この出力の仕様を満たす操作点を計算するには、[仕様] タブで [平衡化] Play button をクリックします。

モデルが平衡化されて操作点探索レポートが生成されます。レポート report1 が、データ ブラウザーの [レポート] セクションに追加されます。また、[レポート] タブが、対応する [report1] ドキュメントとともに開きます。

この例では既定の平衡化オプションを使用します。最適化手法やカスタムのコスト関数などの異なるオプションを指定するには、[仕様] タブで、[平衡化オプション] をクリックします。

最適化探索が仕様を満たす解に収束したかどうかを確認するには、[report1] ドキュメントで、[最適化ステータス] をクリックします。

最適化ステータスは、最適化アルゴリズムが正常に終了し、仕様を満たす操作点を見つけたことを示しています。

[最大誤差] プロットおよび [最大誤差] 列には、各反復における最大の制約違反が表示されます。[ブロック] 列には、最大の制約違反が適用されるブロックが表示されます。

操作点の検証

この例では、最適化探索が仕様を満たす操作点に収束しました。操作点探索レポートが探索に失敗したことを示している場合、操作点を仕様に対して検証することができます。そのためには、[report1] ドキュメントのナビゲーション ツリーで、確認する仕様を選択します。この例では [出力] をクリックします。

仕様テーブルでは、既知の値がグレーで強調表示され、制約違反は赤で強調表示されます。この例では制約違反がありません。

また、操作点が定常状態にあるかどうかを検証することもできます。たとえば、[report1] ドキュメントで [状態] をクリックします。

[実際の dx] 列には、操作点における状態値の変化率が示されています。これらの値はゼロに近いため、状態は変化しておらず、操作点が定常状態にあることを示しています。

操作点の検証の詳細については、仕様に対する操作点の検証を参照してください。

異なる仕様に対するモデルの平衡化

仕様に既知の値ではなく、範囲を指定することもできます。たとえば、1900 ~ 2100 rpm の範囲内に定常状態条件があることがわかっていると仮定します。この操作点を見つけるには、まず以前の仕様をコピーして編集することにより、仕様をもう 1 つ作成します。データ ブラウザーで spec1 を右クリックし、[コピー] を選択します。

ソフトウェアによってデータ ブラウザーに spec2 が追加されます。編集するために仕様ドキュメントを開くには、この新しい仕様をダブルクリックします。

[spec2] ドキュメントで [出力] をクリックします。その後、仕様テーブルで次を行います。

  • 値の初期推定がわかっている場合は [値] 列に指定します。

  • [既知] 列で出力仕様のエントリをクリアします。

  • [最小値] 列と [最大値] 列に、制約範囲の下限と上限をそれぞれ指定します。

[仕様] タブで、[平衡化] Play button をクリックします。ソフトウェアによってモデルが平衡化され、[report2] ドキュメントに操作点探索レポートが開きます。

[出力] をクリックします。

[実際の値] 列に示されるように、平衡化された出力値は指定の範囲内にあります。

レポートからの操作点の抽出

操作点探索レポートは読み取り専用で、仕様と平衡化された操作点の両方に関する情報が含まれています。探索レポートから、仕様と操作点オブジェクトのどちらでも抽出できます。たとえば、report2[レポート] タブで、[抽出][操作点] をクリックします。

ソフトウェアによって、レポートから平衡化された操作点 op1 が抽出され、データ ブラウザーの [操作点] セクションに追加されます。

操作点データのエクスポート

仕様を満たす操作点を計算した後で、モデルを MATLAB® ワークスペースにエクスポートして、モデルの初期条件を操作点内の値に設定することができます。そのためには、[操作点] タブで、[エクスポート] または [初期条件を設定] をそれぞれクリックします。

モデルの初期条件の設定と、特定の操作点におけるモデルのシミュレーションの詳細については、特定の操作点での Simulink モデルのシミュレーションを参照してください。

参考

関連するトピック