matlab使用LMI对二阶系统进行H无穷控制

MATLAB使用LMI对二阶系统进行H无穷控制

本文需要对LMI理论和H无穷控制理论具有一定的了解。

1. 二阶系统建立

建立一个二阶系统
A = [ 1 2 − 2 3 ] A = \left[ \begin{matrix} 1 & 2 \\ -2 & 3 \end{matrix} \right] A=[1223] B 1 = [ 1 0 ] , B 2 = [ 0 1 ] B_1 = \left[ \begin{matrix} 1 \\ 0 \end{matrix} \right], B_2 = \left[ \begin{matrix} 0 \\ 1 \end{matrix} \right] B1=[10],B2=[01] C 1 = [ 1 0 ] , C 2 = [ 1 1 ] , C_1 = \left[ \begin{matrix} 1 & 0 \end{matrix} \right], C_2 = \left[ \begin{matrix} 1 & 1 \end{matrix} \right], C1=[10],C2=[11], D 11 = 1 , D 12 = D 21 = D 22 = 0 D_{11} = 1,D_{12} = D_{21} = D_{22} = 0 D11=1,D12=D21=D22=0其方程表示为
x ˙ = A x + B 1 w + B 2 u z = C 1 x + D 11 w + D 12 u y = C 2 x + D 21 w + D 22 u \begin{aligned} \dot{x} &= Ax + B_1 w +B_2 u \\ z &= C_1 x + D_{11} w + D_{12} u \\ y &= C_2 x + D_{21} w + D_{22} u \end{aligned} x˙zy=Ax+B1w+B2u=C1x+D11w+D12u=C2x+D21w+D22u

2. 二阶系统实现

利用代码

P = ltisys(A, [B1 B2], [C1; C2], [D11 D12; D21 D22]);

把ABCD以系统矩阵的形式系统存储下来。
随后使用hinflmi代码得到系统的最优H无穷表现gopt和最优H无穷控制器K

[gopt, K] = hinflmi(P, [1 1]);

值得注意的是,若不设计最优H无穷控制器,而设计 γ \gamma γ-次优H无穷控制器,则需要在hinflmi中加入参数 γ \gamma γ

[gopt, K] = hinflmi(P, [1 1], gamma);

在H无穷控制器作用下,系统的EE增益不会超过gopt
下一步,利用slft函数将P和K建立为闭环系统

close = slft(P, K);

splot函数则可以绘制闭环系统的阶跃或脉冲响应。这里以阶跃相应为例:

splot(close, 'st');

其中'st'表示阶跃响应。

得到的H无穷控制下的阶跃响应如下图所示:
H无穷阶跃响应
查看系统的EE增益:

norminf(close)

得到

ans = 1.1695

3. MATLAB代码

MATLAB代码附下:

A = [1 2;
    -2 3];
B1 = [1; 0];
B2 = [0; 1];
C1 = [1 0];
C2 = [1 1];
D11 = 1;
D12 = 0;
D21 = 0;
D22 = 0;

P = ltisys(A, [B1 B2], [C1; C2], [D11 D12; D21 D22]);

[gopt, K] = hinflmi(P, [1 1]);

close = slft(P, K);     % 组成闭环系统

norminf(close)     % 返回闭环系统的EE增益
splot(close, 'st'); % 绘制闭环系统的阶跃响应
grid on;
grid minor;
  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值