|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
本帖最后由 zhedongxiao 于 2011-5-22 13:48 编辑
求教 :用LMI方法求倒立摆H无穷状态反馈控制器程序
求教 :用LMI方法求倒立摆H无穷状态反馈控制器程序用LMI方法求倒立摆H无穷状态反馈控制器程序 但运行出现没有合适的gama值
显示“could not establish feasibility nor infeasibility”
A=[0 1 0 0;0 0 0 0;0 0 0 1; 0 0 29.4 0];
B1=[0;0;-1;0];
B2=[0;1;0;3];
C1=[1 0 0 0; 0 1 0 0];
D=[0;0];
E=[0;1.496;0;3.612];
F=[0 1 1 0];
e=4;
setlmis([]); %%初始化LMI系统
X=lmivar(1,[4,1]);
W=lmivar(2,[1,4]);
gama=lmivar(2,[1,1]); %%定义决策变量X,W,r
NO=newlmi;
lmiterm([NO 1 1 X],A,1);
lmiterm([NO 1 1 W],B2,1);
lmiterm([NO 1 1 -X],1,A');
lmiterm([NO 1 1 -W],1,B2');
lmiterm([NO 1 1 0],e*E*E');
lmiterm([NO 1 2 X],1,F');
lmiterm([NO 1 3 0],B1);
lmiterm([NO 1 4 -X],1,C1');
lmiterm([NO 1 4 -W],1,D');
lmiterm([NO 2 2 0],-e);
lmiterm([NO 3 3 0], -1);
lmiterm([NO 4 4 0],-gama^2*eye(size(C1,1))); %%对矩阵不等式进行LMI描述
% 27行可能出错处
N0=newlmi
lmiterm([-NO 1 1 X],1,1); %%对X>0进行描述
lmil=getlmis; %%获取LMI系统描述
n=decnbr(lmil);
c=zeros(n,1);
for j=1:n
[gamaj]=defcx(lmil,j,gama);
c(j)=gamaj*gamaj;
end %%生成最小化r所需的向量c,这里 x即为决策
%34-39可能出错处 %% X中r所对应的变量
[copt,xopt]=mincx(lmil,c); %%由求解器mincx()求解最小化
X=dec2mat(lmil,xopt,X);
W=dec2mat(lmil,xopt,W); %%从决策变量xopt中得到变量矩阵X,W的解
W*inv(X) %%求得K
求教 :用LMI方法求倒立摆H无穷状态反馈控制器程序用LMI方法求倒立摆H无穷状态反馈控制器程序 但运行出现没有合适的gama值
显示“could not establish feasibility nor infeasibility”
A=[0 1 0 0;0 0 0 0;0 0 0 1; 0 0 29.4 0];
B1=[0;0;-1;0];
B2=[0;1;0;3];
C1=[1 0 0 0; 0 1 0 0];
D=[0;0];
E=[0;1.496;0;3.612];
F=[0 1 1 0];
e=4;
setlmis([]); %%初始化LMI系统
X=lmivar(1,[4,1]);
W=lmivar(2,[1,4]);
gama=lmivar(2,[1,1]); %%定义决策变量X,W,r
NO=newlmi;
lmiterm([NO 1 1 X],A,1);
lmiterm([NO 1 1 W],B2,1);
lmiterm([NO 1 1 -X],1,A');
lmiterm([NO 1 1 -W],1,B2');
lmiterm([NO 1 1 0],e*E*E');
lmiterm([NO 1 2 X],1,F');
lmiterm([NO 1 3 0],B1);
lmiterm([NO 1 4 -X],1,C1');
lmiterm([NO 1 4 -W],1,D');
lmiterm([NO 2 2 0],-e);
lmiterm([NO 3 3 0], -1);
lmiterm([NO 4 4 0],-gama^2*eye(size(C1,1))); %%对矩阵不等式进行LMI描述
% 27行可能出错处
N0=newlmi
lmiterm([-NO 1 1 X],1,1); %%对X>0进行描述
lmil=getlmis; %%获取LMI系统描述
n=decnbr(lmil);
c=zeros(n,1);
for j=1:n
[gamaj]=defcx(lmil,j,gama);
c(j)=gamaj*gamaj;
end %%生成最小化r所需的向量c,这里 x即为决策
%34-39可能出错处 %% X中r所对应的变量
[copt,xopt]=mincx(lmil,c); %%由求解器mincx()求解最小化
X=dec2mat(lmil,xopt,X);
W=dec2mat(lmil,xopt,W); %%从决策变量xopt中得到变量矩阵X,W的解
W*inv(X) %%求得K
|
-
|