可做计控作业使用
xlabel('t'); ylabel('y');
title('单位阶跃响应曲线')
%角度对输入的传递函数的阶跃响应曲线
a=[0,1,0,0,0;15.56,0,0,0,-0.74;0,0,0,1,0;-0.37,0,0,0,0.49;0,0,0,0,0]; b=[0;0;0;0;1]; setlmis([]) %开启LMI求解 Q=lmivar(1,[5,1]); L=lmivar(2,[1,5]); %定义矩阵变量 lmiterm([1 1 1 Q],a,1,'s'); lmiterm([1 1 1 L],b,1,'s'); lmiterm([1 2 2 Q],-1,1); %描述线性矩阵不等式 lmisys=getlmis;
[tmin,xfeas]=feasp(lmisys); QQ=dec2mat(lmisys,xfeas,Q); LL=dec2mat(lmisys,xfeas,L); K=LL*inv(QQ) %解出反馈矩阵K %状态方程 c=[0,0,0,0,0]; d=[0];
g=ss((a+b*K),b,c,d); t=[0:0.1:20]; x0=[0,0,1,0,0]; [y,t,x]=initial(g,x0,t); figure(2) plot(t,x); hold on grid on
%得到增广系统的状态响应曲线 figure(3) plot(t,x(:,1)),grid;
xlabel('t'),ylabel('角度'),title('摆角随时间变化的曲线'); figure(4)