ʵÓñê×¼Îĵµ
ʵÑéËÄ Stability analysis of linear systems
ÏßÐÔϵͳÎȶ¨ÐÔ·ÖÎö
Ò»¡¢ÊµÑéÄ¿µÄ
1£®Í¨¹ýÏìÓ¦ÇúÏß¹Û²âÌØÕ÷²ÎÁ¿?ºÍ?n¶Ô¶þ½×ϵͳÐÔÄܵÄÓ°Ïì¡£ 2£®ÊìÁ·ÕÆÎÕϵͳµÄÎȶ¨ÐÔµÄÅжϷ½·¨¡£ ¶þ¡¢»ù´¡ÖªÊ¶¼°MATLABº¯Êý
×¢Ò⣺routh£¨£©ºÍhurwitz£¨£©²»ÊÇMATLABÖÐ×Ô´øµÄ¹¦Äܺ¯Êý£¬(ÔÚ¹²ÏíÎļþ¼ÐÀïÓÐÀÍ˹Åоݺͺնûά´ÄÅоݵÄmÎļþ£¬°ÑÆäÖеÄrouth.mºÍhurwitz .m·Åµ½MATLABÎļþ¼ÐϵÄworkÎļþ¼ÐÖвÅÄÜÔËÐÐ)¡£ 1£©Ö±½ÓÇó¸ùÅÐÎÈroots()
¿ØÖÆÏµÍ³Îȶ¨µÄ³äÒªÌõ¼þÊÇÆäÌØÕ÷·½³ÌµÄ¸ù¾ù¾ßÓиºÊµ²¿¡£Òò´Ë£¬ÎªÁËÅбðϵͳµÄÎȶ¨ÐÔ£¬¾ÍÒªÇó³öÏµÍ³ÌØÕ÷·½³ÌµÄ¸ù£¬²¢¼ìÑéËüÃÇÊÇ·ñ¶¼¾ßÓиºÊµ²¿¡£MATLABÖжԶàÏîʽÇó¸ùµÄº¯ÊýΪroots()º¯Êý¡£
ÈôÇóÒÔ϶àÏîʽµÄ¸ùs4?10s3?35s2?50s?24£¬ÔòËùÓõÄMATLABÖ¸ÁîΪ£º >> roots([1,10,35,50,24])
ans =
-4.0000 -3.0000 -2.0000 -1.0000
ÌØÕ÷·½³ÌµÄ¸ù¶¼¾ßÓиºÊµ²¿£¬Òò¶øÏµÍ³ÎªÎȶ¨µÄ¡£ 2£©ÀÍ˹Îȶ¨ÅоÝrouth£¨£©
ÀÍ˹Åоݵĵ÷ÓøñʽΪ£º[r, info]=routh(den)
¸Ãº¯ÊýµÄ¹¦ÄÜÊǹ¹ÔìϵͳµÄÀÍ˹±í¡£ÆäÖУ¬denΪϵͳµÄ·Öĸ¶àÏîʽϵÊýÏòÁ¿£¬rΪ·µ»ØµÄrouth±í¾ØÕó£¬infoΪ·µ»ØµÄrouth±íµÄ¸½¼ÓÐÅÏ¢¡£
ÒÔÉÏÊö¶àÏîʽΪÀý£¬ÓÉrouthÅоÝÅж¨ÏµÍ³µÄÎȶ¨ÐÔ¡£
>> syms EPS den=[1,10,35,50,24]; ra=routh(den,EPS) r=
Îݸ´óÈ«
ʵÓñê×¼Îĵµ
1 35 24 10 50 0 30 24 0 42 0 0 24 0 0 info=
[ ]
ÓÉϵͳ·µ»ØµÄrouth±í¿ÉÒÔ¿´³ö£¬ÆäµÚÒ»ÁÐûÓзûºÅµÄ±ä»¯£¬ÏµÍ³ÊÇÎȶ¨µÄ¡£ 3£©ºÕ¶ûά´ÄÅоÝhurwitz£¨£©
ºÕ¶ûά´ÄµÄµ÷ÓøñʽΪ£ºH=hurwitz£¨den£©¡£¸Ãº¯ÊýµÄ¹¦ÄÜÊǹ¹Ôìhurwitz¾ØÕ󡣯äÖУ¬denΪϵͳµÄ·Öĸ¶àÏîʽϵÊýÏòÁ¿¡£
ÒÔÉÏÊö¶àÏîʽΪÀý£¬ÓÉhurwitzÅоÝÅж¨ÏµÍ³µÄÎȶ¨ÐÔ¡£
>>den=[1,10,35,50,24]; H=hurwitz(den)
H=
10 50 0 0 1 35 24 0 0 10 50 0 0 1 35 24
ÓÉϵͳ·µ»ØµÄhurwitz¾ØÕó¿ÉÒÔ¿´³ö£¬ÏµÍ³ÊÇÎȶ¨µÄ¡£ÓëÇ°ÃæµÄ·ÖÎö½á¹ûÍêȫһÖ¡£
4£©¿ª»·ÔöÒæK0ºÍʱ¼ä³£ÊýT¸Ä±ä¶ÔϵͳÎȶ¨ÐÔ¼°ÎÈ̬Îó²îµÄÓ°Ïì ϵͳ¿ª»·´«µÝº¯ÊýΪ£ºG(s)? ϵͳ¿ª»·´«µÝº¯ÊýΪ£º G(s)?10K0
s(0.1s?1)(Ts?1)10K0£¬²Î¿¼ÒÔÏÂͼƬÖеķÂÕæ³ÌÐò£º
s(0.1s?1)(Ts?1)ʽÖУ¬K0=R2/R1£¬R1?100k?£¬R2?0~500k?£»T?RC,R?100k?£¬CÈ¡1?F»ò0.1?FÁ½ÖÖÇé¿ö¡£
£¬C?1?F£»¸Ä±äµçλÆ÷£¬Ê¹R2´Ó0¡ú500k?·½Ïò±ä»¯£¬¹Û²ì£¨1£©ÊäÈëÐźÅUr?1ϵͳµÄÊä³ö²¨ÐΣ¬È·¶¨Ê¹ÏµÍ³Êä³ö²úÉúµÈ·ùÕðµ´Ê±ÏàÓ¦µÄR2Öµ¼°K0Öµ£¬·ÖÎöK0±ä»¯¶Ôϵ
Îݸ´óÈ«
ʵÓñê×¼Îĵµ
ͳÎȶ¨ÐÔµÄÓ°Ïì¡£
£¨2£©·ÖÎöTÖµ±ä»¯¶ÔϵͳµÄÓ°Ïì¡£
£¨3£©¹Û²ìϵͳÔÚ²»Í¬ÊäÈëÏÂÎÈ̬Îó²î±ä»¯µÄÇé¿ö¡£ ËÄ¡¢Èí¼þ·ÂÕæÊµÏÖ·½·¨
£¨1£©¿ª»úÖ´ÐгÌÐòc:\\Matlab\\bin\\Matlab.exe£¨»òÓÃÊó±êË«»÷MATLABͼ±ê£©£¬½øÈëMATLABÃüÁî´°¿Ú£º¡°Command Window¡±¡£
£¨2£©ÏµÍ³¿ª»·´«µÝº¯ÊýΪ£º
G(s)?10K0
s(0.1s?1)(Ts?1)È¡T=0.1£¬¼´ÁîR?100k?£¬C?1?F£»È¡K0=1£¬¼´ÁîR1?R2?100k?£¬½¨Á¢ÏµÍ³ÊýѧģÐÍ£¬»æÖƲ¢¼Ç¼Æä½×Ô¾ÇúÏß¡£
£¨3£©ÀíÂÛ·ÖÎöK0¶ÔÎȶ¨ÐÔµÄÓ°Ïì¡£±£Ö¤T=0.1²»±ä£¬¸Ä±äK0£¬ÁîK0·Ö±ðµÈÓÚ2,3,4,5£¬¼´½«¿É±äµç×èR2·Ö±ðÉèÖÃÔÚ200,300,400,500k?¡£ÓÃÀÍ˹ÅоÝÇó³öʹϵͳÎȶ¨µÄK0Öµ·¶Î§£¬²¢¶ÔÉÏÊö¸÷ÖÖÇé¿ö·Ö±ðÅжÏÎȶ¨ÐÔ¡£
£¨4£©ÓÉʵÑéÑéÖ¤µÚ£¨3£©²½µÄÀíÂÛ·ÖÎö½á¹û¡£·Ö±ð»æÖÆÏàÓ¦µÄ½×Ô¾ÏìÓ¦ÇúÏߣ¬²¢·ÖÎöK0 ±ä»¯¶ÔϵͳÎȶ¨ÐÔµÄÓ°Ïì¡£¼üÈë³ÌÐò£º
%¶¨ÒåÔª¼þ²ÎÊý
R1=10^5; %µç×è²ÎÊýR1?100k? R=10^5; %µç×è²ÎÊýR?100k?
R2=[1,2,3,4,5]*10^5; %µç×è²ÎÊýR2¾ØÕ󣬰üº¬R2¿ÉÈ¡µÄ5¸öÊý¾Ý
C1=10^(-6); %µçÈݲÎÊýC1?1?F C2=10^(-7); %µçÈݲÎÊýC2?0.1?F
T=[R*C1,R*C2]; %ʱ¼ä³£ÊýT¾ØÕ󣬰üº¬T¿ÉÈ¡µÄÁ½¸öÖµ %½¨Á¢ÏµÍ³´«µÝº¯Êý£»²¢»æÖÆÆä½×Ô¾ÏìÓ¦ÇúÏß for i=1:5
K0(i)=R2(i)/R1; %¸øÔöÒæK0¸³Öµ
Îݸ´óÈ«
ʵÓñê×¼Îĵµ
num=10*K0(i); %¿ª»·´«µÝº¯Êý·Ö×Ó¶àÏîʽģÐÍ
den=[0.1*T(1),0.1+T(1),1,0]; %¿ª»·´«µÝº¯Êý·Öĸ¶àÏîʽģÐÍ Gopen=tf(num,den) %½¨Á¢¿ª»·´«µÝº¯ÊýGopen Gclose=feedback(Gopen,1,-1) %½¨Á¢±Õ»·´«µÝº¯ÊýGclose figure(i) %½¨Á¢µÚi¸öͼÐδ°¿Ú
t=0:.01:10
step(Gclose,t) %Çóϵͳ½×Ô¾ÏìÓ¦²¢×÷ͼ
end
ÔËÐнá¹ûÈçͼ3.2-3Ëùʾ¡£¿É¼û£¬K0=2ʱ£¬ÏµÍ³ÁÙ½çÎȶ¨£»Ëæ×ÅK0µÄÔö¼Ó£¬ÏµÍ³½«Ç÷ÓÚ²»Îȶ¨¡£
£¨5£©ÔÚK0=1£¨ÏµÍ³Îȶ¨£©ºÍK0=2£¨ÏµÍ³ÁÙ½çÎȶ¨£©Á½ÖÖÇé¿öÏ£¬·Ö±ð»æÖÆT=0.1ºÍT=0.01£¨¼´±£³ÖR=100k¦¸²»±ä£¬C·Ö±ðÈ¡1¦ÌFºÍ0.1¦ÌF£©Ê±ÏµÍ³µÄ½×Ô¾ÏìÓ¦£¬·ÖÎöTÖµ±ä»¯¶Ôϵͳ½×Ô¾ÏìÓ¦¼°Îȶ¨ÐÔµÄÓ°Ïì¡£¼üÈë³ÌÐò£º
%¶¨ÒåÔª¼þ²ÎÊý R1=10^5; R=10^5;
R2=[1,2,3,4,5]*10^5; C1=10^(-6); C2=10^(-7); T=[R*C1,R*C2];
%È¡K0=1£¬·Ö±ð»æÖÆT=0.1ºÍT=0.01ʱµÄ½×Ô¾ÏìÓ¦ÇúÏß K0=R2(1)/R1; for i=1:2
num=10*K0; %¿ª»·´«µÝº¯Êý·Ö×Ó¶àÏîʽģÐÍ den=[0.1*T(i),0.1+T(i),1,0]; %¿ª»·´«µÝº¯Êý·Öĸ¶àÏîʽģÐÍ Gopen(i)=tf(num,den) %½¨Á¢¿ª»·´«µÝº¯ÊýGopen Gclose(i)=feedback(Gopen(i),1,-1) %½¨Á¢±Õ»·´«µÝº¯ÊýGclose
end
figure(1) %½¨Á¢µÚ1¸öͼÐδ°¿Ú
Îݸ´óÈ«
ʵÓñê×¼Îĵµ
step(Gclose(1), 'r',Gclose(2), 'g') %Çóϵͳ½×Ô¾ÏìÓ¦²¢×÷ͼ
Step Response1.62Step Response1.41.81.61.41.21Amplitude1.20.8Amplitude10.80.60.40.60.40.20.200012345Time (sec)678910012345Time (sec)678910
Step Response1.81.61.423Step Response2.51.21.5AmplitudeAmplitude10.80.60.40.201System: GcloseTime (sec): 4.67Amplitude: 0.920.50-0.5012345Time (sec)678910-1012345Time (sec)678910
Step Response
250200150100Amplitude500-50-100-150-200012345Time (sec)678910
ͼ3.2-3 K0È¡²»Í¬ÖµÊ±ÏµÍ³ÏìÓ¦ÇúÏß
ÔËÐнá¹ûÈçͼ3.2-4Ëùʾ¡£¿É¼û£¬Ê±¼ä³£ÊýT¼õÉÙʱ£¬ÏµÍ³¶¯Ì¬ÐÔÄܵõ½¸ÄÉÆ¡£ %È¡K0=2£¬·Ö±ð»æÖÆT=0.1ºÍT=0.01ʱµÄ½×Ô¾ÏìÓ¦ÇúÏß
K0=R2(2)/R1; %È¡K0=2£¬¼´Ê¹ÏµÍ³ÁÙ½çÎȶ¨µÄK0Öµ for i=1:2
num=10*K0; %¿ª»·´«µÝº¯Êý·Ö×Ó¶àÏîʽģÐÍ
Îݸ´óÈ«
Ïà¹ØÍÆ¼ö£º