楊艷麗 郭一鋒 張國良 王蜂



摘要:為了提高學生對《自動控制理論》這門課的學習興趣,提高分析和設(shè)計自動控制系統(tǒng)的能力,本文采用MATLAB語言結(jié)合實例對自動控制理論課程中的一些典型問題進行了分析。通過這種方法,加深學生對自動控制理論這門課的理解程度,提高學生學習的積極主動性,改善教學效果。
關(guān)鍵詞:自動控制原理;MATLAB語言
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2016)21-0266-02
一、引言
《自動控制理論》課程是支撐我校導(dǎo)航、制導(dǎo)與控制國家重點學科的主干課程,自1959年起為測控工程專業(yè)學員開設(shè),目前已面向全院本科學員,是全院性的專業(yè)基礎(chǔ)課,在整個專業(yè)知識體系中占據(jù)非常重要的地位,具有承上啟下的作用。該課程涉及數(shù)學、物理、電子、機械等多學科領(lǐng)域,同時還與實際工程系統(tǒng)的控制密切相關(guān),具有內(nèi)容豐富、理論性強、涉及知識面廣、更新發(fā)展快等特點,有一定的深度和學習難度。學生在學習過程中容易感到枯燥乏味,產(chǎn)生厭學情緒。在歷年的學習過程中,都需要進行大量、復(fù)雜的計算以及繪制復(fù)雜的圖形,如果運用MATLAB在仿真環(huán)境下可極其方便地對系統(tǒng)性能進行分析,觀察系統(tǒng)的各種曲線和性能指標非常直觀,可以使學生對所學理論知識有更深刻的理解和把握,有效地提高教學質(zhì)量。時域分析、頻域分析和根軌跡分析是經(jīng)典控制理論的三個重點內(nèi)容,下面將通過三個實例詳細說明MATLAB在教學中的應(yīng)用。
二、二階系統(tǒng)的時域分析
運行結(jié)果如圖1所示。
下面根據(jù)單位階躍響應(yīng)曲線確定動態(tài)性能指標:用鼠標右鍵單擊圖形窗口中任一處,在彈出的菜單中選擇“characteristic”選擇“Peak Response”,“Settling Time”,“Rise Time”,此時MATLAB自動在曲線上用“”標注相應(yīng)的點,用鼠標左鍵單擊該點,可以得到該點的指標值,如圖2所示。
三、控制系統(tǒng)的頻域分析
頻域分析法是指應(yīng)用頻率特性研究線性系統(tǒng)的方法,它是經(jīng)典控制理論中經(jīng)常使用的分析方法之一,最常用的頻率特性曲線有Nyquist曲線和Bode曲線。繪制這兩種曲線以及計算穩(wěn)定裕度是頻域分析法的基本內(nèi)容。穩(wěn)定裕度包括相角裕度和幅值裕度。
所用程序:
wn=1;kosi=0.1,0.3,0.5,0.7,1.0,2.0]; hold on; for kos=kosi num=wn.^2;
den=[1,2*kos*wn,wn.^2]; bode(tf(num,den)); nyquist(tf(num,den)); end
wn=1;kosi=[0.4,0.6,0.8]; hold on; for kos=kosi num=wn.^2;
den=[1,2*kos*wn,wn.^2]; nyquist(tf(num,den)); end
函數(shù)S=allmargin(sys),返回變量S包括穿越頻率GMFFrequency,幅值裕度GainMargin,截至頻率PMFFrequency,相角裕度PhaseMargin。
四、控制系統(tǒng)的根軌跡分析
根軌跡法是分析和設(shè)計線性定常控制系統(tǒng)的圖解方法,使用十分方便,但是繪制步驟繁多,尤其是起始角和終止角以及根軌跡與虛軸的交點計算起來復(fù)雜,這給根軌跡的繪制帶來了一定的困難。在課堂教學中,可采取讓學生先根據(jù)規(guī)則先畫,再用MATLAB校驗的方式。在MATLAB仿真環(huán)境下,可以使用rlocus命令直接方便地繪制根軌跡。
運行結(jié)果如圖3所示:
五、傅立葉級數(shù)展開
對一個周期為T的函數(shù)f(t),只要該函數(shù)滿足狄利克雷條件,便可以展開成一個收斂的傅立葉級數(shù),即
在教學中我們發(fā)現(xiàn),盡管傅立葉級數(shù)分析的公式形式簡單、含義明確,但對于一些常見周期波形,應(yīng)用上述公式求傅立葉級數(shù)時,常常面臨較大的計算量。在教學備課中為了驗證一些周期函數(shù)的傅立葉級數(shù)展開式,也感覺耗時太多。傅立葉級數(shù)分析中主要的運算是積分運算,MATLAB提供了專門的符號積分函數(shù)int(),借助函數(shù)int()利用傅立葉級數(shù)展開公式編寫傅立葉級數(shù)的函數(shù)fouriers()如下:
function[A,B,F(xiàn)]=fouriers(f,t,T,a,b,k)
w=2*pi/T; A=1/T*int(f,t,a,b); B=[ ]; F=A;
if k==0
syms k integer;
ak=2/T*int(f*cos(k*w*t),t,a,b); bk=2/T*int(f*sin(k*w*t),t,a,b); A=[A,ak];B=[B,bk];F=[ ];
else
for i=1:k
ak=2/T*int(f*cos(i*w*t),t,a,b); bk=2/T*int(f*sin(i*w*t),t,a,b);A=[A,ak];B=[B,bk];
F=F+ak* cos(i*w*t)+bk* sin(i*w*t);
end
end
運用所編函數(shù)可以非常方便地對矩形波周期函數(shù)進行傅立葉級數(shù)的展開,直流分量和偶次諧波分量為零,基波、三次諧波和五次諧波如圖4所示:
六、結(jié)束語
本文根據(jù)自動控制理論這門課程的特點,結(jié)合MATLAB作為輔助教學手段,可使課堂教學生動、形象、直觀,可以加深學生對所學知識的理解,提高教學效果。