このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
この例は,MATLAB®コマンドラインでbalred
を使用してモデルの低次元化近似を計算する方法を説明します。
balred
は,モデルの動作全体に対するエネルギーの寄与が最も少ない状態を削除します。そのため,balred
を使用する場合,最初にモデルの各状態のエネルギー寄与を調べます。モデルの動作全体に大きく寄与する状態の数に基づいて近似次数を選択します。
この例では,高次のモデルを読み込みます。hplant
は23次の输出モデルです。
负载ltiexampleshplant订单(hplant)
ans = 23
ハンケル特異値(HSV)プロットを使用して,hplant
での状態ごとのエネルギーの相対量を調べます。
hsvplot (hplant)
ハンケル特異値が小さいことは,関連する状態がシステムの動作にほとんど影響しないことを示します。このプロットから2つの状態がシステムのエネルギーで最も考慮されていることがわかります。そこで,モデルを1次または2次に簡略化することにします。
选择= balredOptions (“StateElimMethod”,“截断”);hplant1 = balred (hplant 1选择);hplant2 = balred (hplant 2选择);
balred
への2番目の引数は,hplant1
がhplant
の1次近似で,hplant2
が2次近似となるようにターゲットの近似次数を指定します。既定では,balred
は最も小さいハンケル特異値をもつ状態を破棄し,残りの状態がシステムの直流ゲインを保持するように変更します。StateElimMethod
オプションを截断
に設定すると,balred
は残りの状態を変更せずに低エネルギーの状態を破棄します。
低次元化されたモデルで作業をする場合,近似を行うことで,アプリケーションにとって重要な周波数に誤差が導入されることがないように確認することが大切です。したがって,元のシステムと近似したシステムの周波数応答を比較します。米姆システムの場合,sigmaplot
コマンドを使用します。输出システムの場合,ボード線図を調べます。
bodeplot (hplant hplant2 hplant1)传说(“原始”,二阶的,“一阶”)
低い周波数では特に,2次近似hplant2
が元の23次システムと非常によく一致します。1次システムはあまり一致しません。
一般的に,近似したモデルの次数を減らすと,近似したモデルの周波数応答と元のモデルの周波数応答との間に相違が生じ始めます。重要な帯域での精度が十分に高い近似を選択してください。たとえば制御システムの場合,制御帯域幅内で高い精度を保とうとすることがあります。制御帯域幅を大きく超え,ゲインが迅速にロールオフするような帯域幅での周波数精度は,それほど重要ではないでしょう。
時間領域における近似を確認することもできます。たとえば,元のシステムと低次元化されたシステムのステップ応答を調べます。
stepplot (hplant hplant2,“r——”hplant1,“g——”)传说(“原始”,二阶的,“一阶”,“位置”,“东南”)
この結果から2次近似が元の23次システムにとって適切であることが確認されます。