ËÄ¡¢Ë¼¿¼Ìâ
(1) ¼ÆËãAc µÄÌØÕ÷Öµ¡£ ¢ÙK =
-14.1421 -12.1467 63.5825 11.8413
¢ÚK =
-14.1421 -12.1570 63.5837 11.8416
(2) ͨ¹ý·ÂÕæ·ÖÎöQ11ºÍQ33µÄ´óС¶Ô¿ØÖÆÐ§¹ûµÄÓ°Ïì(Q11ΪQÕóµÄµÚ(1; 1)¸öÔªËØ)£º ? ¹Ì¶¨Q33 £¬¸Ä±äQ11
Q33= 100 Q11=100£¨ºì£©¡¢500£¨À¶£©¡¢1000£¨ÂÌ£©
´ÓͼÖпÉÒÔ¿´³öQ11Ôö´ó,½Ç¶È³¬µ÷Ëæ×ÅÔö´ó,λÖõij¬µ÷»ù±¾²»±ä,µ«ÊÇÏìӦʱ¼äËõ¶ÌÁË¡£ ? ¹Ì¶¨Q11 £¬¸Ä±äQ33
Q11= 100 Q33=100£¨ºì£©¡¢1000£¨À¶£©¡¢2000£¨ÂÌ£©
´ÓͼÖпÉÒÔ¿´³öQ33Ôö´ó,½Ç¶È³¬µ÷¼õС,λÖõij¬µ÷»ù±¾²»±ä,µ«ÊÇÏìӦʱ¼äÑÓ³¤ÁË¡£
MatlabÔ´³ÌÐò£º
clear all;
f1=0.001;
%ʵ¼Êϵͳ²ÎÊý % M=1.096; % m=0.109; % b=0.25; % l=0.25; % I=0.0034; % g=9.8; % T=0.001;
%Çóϵͳ״̬¿Õ¼ä²ÎÊý
M=1.32; m=0.132; b=0.22; l=0.27; I=0.0032; g=9.8; T=0.02;
p=I*(M+m)+M*m*l^2; A=[0 1 0 0;0 -(I+m*l^2)*b/p m^2*g*l^2/p 0;0 0 0 1;0 -m*b*l/p m*g*l*(M+m)/p 0];
B=[0;(I+m*l^2)/p;0;m*l/p]; C=[1 0 0 0;0 0 1 0]; D=0;
%Çó·´À¡ÏòÁ¿K R=1; Q1=200; Q2=0; Q3=100;
Q=[Q1 0 0 0;0 Q2 0 0;0 0 Q3 0;0 0 0 0]; K=lqr(A,B,Q,R);
%Çó״̬·´À¡ºóµÄϵͳsysstate Ac=A-B*K;
Bc=B*K(1); %ÊäÈë±ä»»Ê¹ÊäÈëÓë·´À¡µÄÁ¿¸ÙÆ¥Åä sysstate=ss(Ac,Bc,C,D);
%¶Ôlqr¿ØÖÆÏµÍ³½øÐзÂÕæ t=0:T:5;
U=0.2*ones(size(t)); y=lsim(sysstate,U,t); figure(1); hold on;
plot(t,y(:,1),t,y(:,2),'r'); box on;
xlabel('t/s');
ylabel('Position/m or Angle/rad'); legend('Car Position','Pendulum Angle');