MATLAB 帮助中心
离散时间状态空间系统的线性二次 (LQ) 状态反馈调节器
[K,S,P] = dlqr(A,B,Q,R,N)
[K,S,P] = dlqr(A,B,Q,R,N) 使用离散时间状态空间矩阵 A 和 B 计算最优增益矩阵 K、相关联代数黎卡提方程的解 S 和闭环极点 P。此函数仅适用于离散时间模型。对于连续时间模型,请使用 lqr。
K
S
P
A
B
Q
R
N
lqr
全部折叠
n
状态矩阵,指定为一个 n×n 矩阵,其中 n 是状态数。
m
输入-状态矩阵,指定为一个 n×m 输入-状态矩阵,其中 m 是输入数。
状态-代价加权矩阵,指定为一个 n×n 矩阵,其中 n 是状态数。您可以用布莱森法则来设置 Q 的初始值,由下式给出:
Qi,i=1maximum acceptable value of (errorstates)2, i∈{1,2,...,n}Q=[Q1,10⋯00Q2,2⋯000⋱⋮00⋯Qn,n]
此处,n 是状态数。
输入-代价加权矩阵,指定为标量或与 D'D 大小相同的矩阵。此处,D 是馈通状态空间矩阵。您可以用布莱森法则来设置 R 的初始值,由下式给出:
D'D
D
Rj,j=1maximum acceptable value of (errorinputs)2, j∈{1,2,...,m}R=[R1,10⋯00R2,2⋯000⋱⋮00⋯Rm,m]
此处,m 是输入数。
0
可选交叉项矩阵,指定为矩阵。如果未指定 N,则默认情况下 lqr 将 N 设置为 0。
闭环系统的最优增益,以大小为 n 的行向量形式返回,其中 n 是状态数。
相关联代数黎卡提方程的解,以 n×n 矩阵形式返回,其中 n 是状态数。换句话说,S 与状态空间矩阵 A 的维度相同。有关详细信息,请参阅 idare。
idare
闭环系统的极点,以大小为 n 的列向量形式返回,其中 n 是状态数。
dlqr 计算最优增益矩阵 K,使得状态反馈律 u[n]=−Kx[n] 最小化离散时间状态空间模型的二次代价函数:
dlqr
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
ATSA−S−(ATSB+N)(BTSB+R)−1(BTSA+NT)+Q=0
以及闭环特征值 P = eig(A−BK)。增益矩阵 K 是使用下式从 S 派生的:
K=(BTSB+R)−1(BTSA+NT)
在任何情况下,当您省略交叉项矩阵 N 时,dlqr 都会将 N 设置为 0。
在 R2006a 之前推出
idare | lqgreg | lqr | lqrd | lqry
lqgreg
lqrd
lqry
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处