ÏÖ´ú¿ØÖÆÀíÂÛʵÑ鱨¸æ¡¶ÄÏÀí¹¤×Ô¶¯»¯×¨Òµ¡· ÏÂÔØ±¾ÎÄ

ËÄ¡¢Ë¼¿¼Ìâ

(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');