ドキュメンテーション センター

  • 評価版
  • 製品アップデート

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

linearize を使用したパラメーター値の変化に対するモデルのバッチ線形化

以下の例では、linearize コマンドを使用して、変化させるパラメーター値に対してモデルから複数の線形化を抽出する方法を示します (バッチ線形化)。

この例では、プラント パラメーターを変化させて、watertank モデルの基準入力からプラント出力への閉ループ伝達関数を取得します。バッチ線形化の結果を解析して、たとえば、プラント モデル内の変化に対するコントローラーのロバスト性を特定できます。

モデルを開きます。

open_system('watertank');

基準入力およびプラント出力を線形化 I/O として指定します。

io(1) = linio('watertank/Desired  Water Level',1,'input');
io(2) = linio('watertank/Water-Tank System',1,'output');

io(1) は、Desired Water Level ブロックの出力端子が発信元となる信号であり、基準入力です。io(2) は、Water-Tank System ブロックの出力端子が発信元となる信号であり、プラント出力です。

Water-Tank System ブロックで使用されるプラント パラメーター A および b は 10% の範囲で変化させます。linearize では、変化させるパラメーターを指定するために、フィールド NameValue をもつ構造体が必要です。

[A_grid,b_grid] = ndgrid(linspace(0.9*A,1.1*A,3),...
                           linspace(0.9*b,1.1*b,4));
params(1).Name = 'A';
params(1).Value = A_grid;
params(2).Name = 'b';
params(2).Value = b_grid;

params で 3 行 4 列のパラメーター グリッドを指定します。ここで、それぞれのグリッド点は、Ab の値の一意の組み合わせに対応します。

プラント パラメーター値の指定された範囲で、基準入力からプラント出力への閉ループ伝達関数を取得します。

T = linearize('watertank',io,params);

T は、線形化モデルの 3 行 4 列の配列です。配列の各エントリには、params で指定されたグリッドの対応するパラメーターの組み合わせの線形化が含まれます。たとえば、T(:,:,2,2) は、A および b の各パラメーターの値を A_grid(2,2) および b_grid(2,2) に設定して取得された線形化に対応します。

参考

| |

関連する例

詳細

この情報は役に立ちましたか?