メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

dlqr

離散時間状態空間システムに対する線形 2 次 (LQ) 状態フィードバック レギュレーター

説明

[K,S,P] = dlqr(A,B,Q,R,N) は、離散時間状態空間行列 A および B を使用して、最適ゲイン行列 K、関連する代数リカッチ方程式の解 S、および閉ループ極 P を計算します。この関数は、離散時間モデルに対してのみ有効です。連続時間モデルの場合は、lqr を使用します。

入力引数

すべて折りたたむ

状態行列。nn 列の行列として指定します。ここで n は状態の数です。

入力から状態への行列。nm 列の、入力から状態への行列として指定します。ここで m は入力の数です。

状態コストの重み付き行列。nn 列の行列として指定します。ここで n は状態の数です。Bryson の規則を使用して、以下によって与えられる Q の初期値を設定できます。

Qi,i=1maximum acceptable value of (errorstates)2, i{1,2,...,n}Q=[Q1,1000Q2,200000Qn,n]

ここで、n は状態の数です。

入力コストの重み付き行列。スカラーまたは D'D と同じサイズの行列として指定します。ここで D は直達状態空間行列です。Bryson の規則を使用して、以下によって与えられる R の初期値を設定できます。

Rj,j=1maximum acceptable value of (errorinputs)2, j{1,2,...,m}R=[R1,1000R2,200000Rm,m]

ここで、m は入力の数です。

オプションの交差項行列。行列として指定します。N が指定されていない場合、lqrN を既定で 0 に設定します。

出力引数

すべて折りたたむ

閉ループ システムの最適ゲイン。サイズが n の行ベクトルとして返されます。ここで n は状態の数です。

関連する代数リカッチ方程式の解。nn 列の行列として返されます。ここで n は状態の数です。つまり、S の次元は状態空間行列 A と同じです。詳細については、idare を参照してください。

閉ループ システムの極。サイズが n の列ベクトルとして返されます。ここで n は状態の数です。

アルゴリズム

dlqr は、状態フィードバック則 u[n]=Kx[n] が 2 次コスト関数を最小にするような、最適ゲイン行列 K を計算します。

J(u)=n=1(x[n]TQx[n]+u[n]TRu[n]+2x[n]TNu[n])

このとき、離散時間状態空間モデルは x[n+1]=Ax[n]+Bu[n] です。

状態フィードバック ゲイン K のほかに、dlqr は関連する離散時間リカッチ方程式の無限ホライズン解 S

ATSAS(ATSB+N)(BTSB+R)1(BTSA+NT)+Q=0

閉ループ固有値 P = eig(ABK) を返します。ゲイン行列 K は、以下を使用して S から導出されます。

K=(BTSB+R)1(BTSA+NT)

いずれの場合も、交差項行列 N を省略すると、dlqrN を 0 に設定します。

バージョン履歴

R2006a より前に導入

参考

| | | |