Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2007-04-22, 21:32   #1
huwentao_1984
初级会员
 
注册日期: 2007-04-22
帖子: 1
声望力: 0
huwentao_1984 正向着好的方向发展
默认 【求助】不确定系统求出反馈增益后如何画响应图

求助一个鲁棒控制器仿真问题
对于一个 不确定系统dx(t)=(A+DFE)x(t)+Bu(t) (1)其中
A=[-3 0 0;0 1 1;0 0 1]
B=[0 0;1 0;0 1]
D=E=[0.5 0 0;0 0.5 0;0 0 0.5]
F'*F<=I
先要求设计一个状态反馈控制器u(t)=kx(t),使得闭环系统所有极点位于圆盘D(-3,2)(q=-3,r=2)内

我已经利用LMI法验证了可行性,并求出了k
程序如下:
%不确定系统具有圆盘区域极点约束的鲁棒控制
A=[-3 0 0;0 1 1;0 0 1];
B=[0 0;1 0;0 1];
D=[0.5 0 0;0 0.5 0;0 0 0.5];
E=[0.5 0 0;0 0.5 0;0 0 0.5];
q=-3;
r=2;
setlmis([]);
X=lmivar(1,[3 1]);
Q=lmivar(2,[2 3]);
a=lmivar(1,[1 1]);
b=lmivar(1,[1 1]);
lmiterm([1 1 1 X],r,-1); %LMI #1:-r*X
lmiterm([1 1 1 0],D*D'); %LMI #1*D'
lmiterm([1 2 1 X],1,A'); %LMI #1:X*A'
lmiterm([1 2 1 -Q],1,B'); %LMI #1:Q'*B'
lmiterm([1 2 1 X],q,-1); %LMI #1:-q*X
lmiterm([1 2 2 X],r,-1); %LMI #1:-r*X
lmiterm([1 3 2 X],E,1); %LMI #1:E*X
lmiterm([1 3 3 0],-1); %LMI #1:-1
lmiterm([-2 1 1 X],1,1); %LMI #2:X
lmiterm([3 1 1 a],1,-1); %LMI #3:-a*1
lmiterm([3 2 1 Q],1,1); %LMI #3:Q
lmiterm([3 2 2 0],-1); %LMI #3:-1
lmiterm([-4 1 1 X],1,1); %LMI #4:X
lmiterm([-4 2 1 0],1); %LMI #4:I
lmiterm([-4 2 2 b],1,1); %LMI #4:b*I
lmis=getlmis;
c=[0 0 0 0 0 0 0 0 0 0 0 0 1 1]';
options=[1e-4,100,-1,10,1];
[copt,xopt]=mincx(lmis,c,options)
qq=dec2mat(lmis,xopt,Q)
x=dec2mat(lmis,xopt,X)
xx=inv(x)
k=qq*xx
结果是

k =

0 -2.2684 -0.7771
0 -0.2840 -2.4261

现在我想画系统的阶跃响应图,但是我不会处理不确定矩阵F

那位高手能帮我编一下画阶跃响应图的程序,谢谢
huwentao_1984 当前离线   回复时引用此帖
 

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 11:07


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.