modred
(非推奨) 状態空間モデルから状態を消去する
modred は推奨されません。代わりに xelim を使用してください。 (R2023b 以降)
構文
rsys = modred(sys,elim)
rsys = modred(sys,elim,'method')
説明
は、ベクトル rsys = modred(sys,elim)elim で指定された状態を消去することで、連続または離散の状態空間モデル sys の低次元化を行います。完全な状態ベクトル X は、X = [X1;X2] に分割されます。ここで、X1 は低次元化された状態ベクトルで、X2 は破棄されます。
elim は、X に応じたインデックス ベクトル、または logical ベクトルになります。ここで、値 true は、削除される状態を示します。この関数は通常、balreal と一緒に使用されます。最初に balreal を使用して、I/O 応答に対して影響のない寄与を状態から分離します。sys を balreal で平衡化し、ハンケル特異値のベクトル g が M 個の小さい要素をもつ場合、modred を使用して対応する M 個の状態を消去することができます。以下に例を示します。
[sys,g] = balreal(sys) % Compute balanced realization elim = (g<1e-8) % Small entries of g are negligible states rsys = modred(sys,elim) % Remove negligible states
rsys = modred(sys,elim,'method') は、状態消去方法も指定します。'method' の選択肢は次のとおりです。
'MatchDC'(既定): DC ゲインを一致させます。状態空間行列は、アルゴリズムで説明されているように、再計算されます。'Truncate':X2 を単に削除します。
'Truncate' オプションは、周波数領域でより良い近似を行う傾向がありますが、DC ゲインが一致することは保証されません。
状態空間モデル sys が balreal で平衡化され、グラミアンが m 個の小さな対角要素をもつ場合、modred を利用して最後の m 個の状態を消去することで、モデルを低次元化できます。
例
アルゴリズム
DC ゲイン マッチング法のアルゴリズムは次のとおりです。次の連続時間モデルの場合、
状態ベクトルは、状態を残す x1 と、状態を消去する x2 で分割されます。
次に、x2 の微係数は 0 に設定され、結果の方程式は x1 に関する式です。低次元化されたモデルは以下によって与えられます。
離散時間は以下を設定することで同様に処理されます。
modred はこの実現のスケーリングしたバージョンを返します。このスケーリングを無効にするには、状態を消去する前に sys.Scaled を true に設定します。
バージョン履歴
R2006a より前に導入参考
xelim | reducespec | balreal | minreal