Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

dare

(非推奨) 離散時間代数リカッチ方程式 (DARE) を解く

dare は推奨されません。代わりに idare を使用してください。詳細については、互換性についての考慮事項を参照してください。

構文

[X,L,G] = dare(A,B,Q,R)
[X,L,G] = dare(A,B,Q,R,S,E)
[X,L,G,report] = dare(A,B,Q,...)
[X1,X2,L,report] = dare(A,B,Q,...,'factor')

説明

[X,L,G] = dare(A,B,Q,R) は、離散時間代数リカッチ (Riccati) 方程式の固有な安定解 X を計算します。

ATXAXATXB(BTXB+R)1BTXA+Q=0

関数 dare はまた、ゲイン行列 G=(BTXB+R)1BTXA と閉ループ固有値のベクトル L を返します。ただし、

L=eig(A-B*G,E)

[X,L,G] = dare(A,B,Q,R,S,E) は、次のようなより一般的な離散時間代数リカッチ (Riccati) 方程式を解きます。

ATXAETXE(ATXB+S)(BTXB+R)1(BTXA+ST)+Q=0

または、R が正則の場合、下記と等価です。

ETXE=FTXFFTXB(BTXB+R)1BTXF+QSR1ST

ここで、F=ABR1ST です。RS、および E が省略されると、既定値 R=IS=0、および E=I が設定されます。

関数 dare は、対応するゲイン行列 G=(BTXB+R)1(BTXA+ST)

および閉ループ固有値のベクトル L を返します。ただし、

L= eig(A-B*G,E)

[X,L,G,report] = dare(A,B,Q,...) は、以下の値をもつ診断 report を返します。

  • -1 関連付けられたシンプレクティック ペンシルが、単位円上またはその近傍に固有値をもつ場合

  • -2 有限の安定化解 X が存在しない場合

  • X が存在しかつ有限である場合には、フロベニウス ノルム

[X1,X2,L,report] = dare(A,B,Q,...,'factor') は、2 つの行列 X1X2 と、X = D*(X2/X1)*D であるような対角のスケーリング行列 D を返します。ベクトル L は、閉ループ固有値を含みます。関連するシンプレクティック行列が単位円上に固有値をもつ場合、すべての出力は空です。

制限

(A, B) 組は可安定でなければなりません (つまり、単位円板外にある A の固有値はすべて可制御でなければなりません)。さらに、関連付けられたシンプレクティック ペンシルは、単位円上に固有値をもつことはできません。この状態を有効にするための十分条件は、S = 0 and R > 0 のときに (Q, A) が可検出であるか、または

[QSSTR]>0

アルゴリズム

関数 dare は、[1] に記述されているアルゴリズムを実装しています。QZ アルゴリズムを使用して、拡張されたシンプレクティック ペンシルを縮小し、その安定した不変部分空間を計算します。

互換性についての考慮事項

すべて展開する

R2019a 以降は非推奨

参考文献

[1] Arnold, W.F., III and A.J. Laub, "Generalized Eigenproblem Algorithms and Software for Algebraic Riccati Equations," Proc. IEEE®, 72 (1984), pp. 1746-1754.

参考

R2006a より前に導入