趙華芳
摘 ? ?要: 自動(dòng)控制原理是自動(dòng)化專業(yè)一門比較難學(xué)的課程,該課程理論性較強(qiáng),與高等數(shù)學(xué)、電工基礎(chǔ)等多門課程聯(lián)系較多,學(xué)生感覺枯燥,不易接受。本文引入matlab 軟件作為輔助工具分析系統(tǒng)的性能,既可以避免復(fù)雜的計(jì)算,利于學(xué)生更好地掌握控制理論,又可以提高學(xué)生的學(xué)習(xí)興趣。
關(guān)鍵詞: matlab ? ?穩(wěn)定性 ? ?時(shí)域分析 ? ?根軌跡
一、matlab概述
matlab軟件是由美國公司于1982年推出的一套高性能數(shù)值計(jì)算和可視化軟件,經(jīng)過不斷完善和發(fā)展,現(xiàn)已成為國際公認(rèn)的最優(yōu)秀的科技應(yīng)用軟件之一。該軟件具有三大特點(diǎn):一是功能強(qiáng)大,具有數(shù)值計(jì)算和符號(hào)計(jì)算,編程可視化;二是界面友好,簡單易懂,指令表達(dá)式與表針教科書的表達(dá)式相近;三是功能開放性強(qiáng),在其開放環(huán)境下,matlab軟件可以面向用戶開發(fā)各種工具箱、模塊集及相關(guān)產(chǎn)品,以滿足各個(gè)領(lǐng)域的不同需要。在控制領(lǐng)域,matlab以控制系統(tǒng)工具箱的應(yīng)用最廣泛和突出,因此它是控制系統(tǒng)首選的輔助分析工具,適用于各種動(dòng)態(tài)系統(tǒng)的建模與仿真。matlab軟件的主要功能如下:
1.數(shù)值計(jì)算和符號(hào)計(jì)算
matlab以矩陣作為基本的數(shù)據(jù)操作單位,包含豐富的數(shù)值計(jì)算函數(shù)。與符號(hào)計(jì)算語言maple相結(jié)合,具有符號(hào)計(jì)算功能。
2.繪圖功能
包括對(duì)圖形句柄的底層繪圖操作,和建立自底層繪圖操作之上的高層繪圖操作。
3.編程語言
具有程序結(jié)構(gòu)控制,函數(shù)調(diào)用,數(shù)據(jù)結(jié)構(gòu)、輸入輸出、面向?qū)ο蟮忍卣?,簡單易學(xué),編程效率高。
二、matlab在自動(dòng)控制系統(tǒng)中的應(yīng)用
1.用matlab分析系統(tǒng)的穩(wěn)定性
穩(wěn)定性是系統(tǒng)的重要性能,是系統(tǒng)能夠正常工作的首要條件,用matlab分析系統(tǒng)的穩(wěn)定性,可直接用root或tf2zp命令求出閉環(huán)系統(tǒng)的極點(diǎn),然后根據(jù)閉環(huán)極點(diǎn)在s平面的分布來判別系統(tǒng)的穩(wěn)定性。
例:設(shè)系統(tǒng)的傳遞函數(shù)為Φ(s)=,求系統(tǒng)的零、極點(diǎn),并判別系統(tǒng)的穩(wěn)定性。
解:求系統(tǒng)的零、極點(diǎn)的matlab程序?yàn)椋?/p>
num=[1 11 30 0];
den=[1 9 45 87 50];
[z,p]=tf2zp(num,den)
結(jié)果為
z=
0
-5.0000
-6.0000
p=
-3.0000+4.0000i
-3.0000-4.0000i
-3.0000
-1.0000
由此可見,系統(tǒng)的零、極點(diǎn)全部具有負(fù)實(shí)部,因此系統(tǒng)穩(wěn)定。
2.用matlab分析系統(tǒng)的時(shí)域響應(yīng)
由于受數(shù)學(xué)水平的限制,我們一般只能求出一階系統(tǒng)和二階系統(tǒng)的階躍響應(yīng)、脈沖響應(yīng),而利用matlab軟件,可以通過給定的傳遞函數(shù),進(jìn)行系統(tǒng)的階躍響應(yīng)、脈沖響應(yīng)、一般響應(yīng)等時(shí)域分析,簡單方便。如果給定的傳遞函數(shù)為G(s)=,則其時(shí)域響應(yīng)可以由下面的函數(shù)得到:
單位階躍響應(yīng)y=impulse(num,den,t)
單位脈沖響應(yīng)y=step(num,den,t)
一般的輸入響應(yīng)y=lsim(num,den,u,t)
其中,時(shí)間軸是預(yù)先定義的矢量,u為輸入信號(hào)。
例:系統(tǒng)閉環(huán)傳遞函數(shù)為G(s)=■,求單位階躍響應(yīng)。
解:在matlab命令窗口輸入以下命令
t=[0:0.1:10];
num=[1];
den=[1,0.5,1];
y=step(num,den,t);
plot(t,y);
grid
在matlab窗口上即可顯示單位階躍響應(yīng)曲線。
3.用matlab繪制和分析系統(tǒng)的根軌跡圖
在matlab工具箱中,rlocus( ?)函數(shù)用來繪制給定系統(tǒng)的根軌跡,使用非常方便,該函數(shù)的調(diào)用格式為:
rlocus(num,den)
其中,num為開環(huán)傳遞函數(shù)分子多項(xiàng)式的系數(shù)向量,den為開環(huán)傳函中分母多項(xiàng)式的系數(shù)向量。使用這些命令后,根軌跡圖是自動(dòng)生成的。
例:已知某單位負(fù)反饋系統(tǒng)的開環(huán)傳遞函數(shù)為:
G(s)=
繪制其根軌跡。
解:輸入以下命令,繪制根軌跡。
num=1;
den=[conv(conv([1 0],[1,1]),[0.5 1])];
rlocus(num1,den1);
grid
在matlab窗口輸入以上命令后,在窗口自動(dòng)生成根軌跡。
以上是matlab軟件在自動(dòng)控制教學(xué)中的典型應(yīng)用,除此之外,利用matlab工具箱中的函數(shù),還可以計(jì)算系統(tǒng)的穩(wěn)態(tài)誤差、準(zhǔn)確地作出系統(tǒng)的頻率特性曲線,方便地對(duì)系統(tǒng)進(jìn)行設(shè)計(jì)校正等??傊?,matlab軟件的應(yīng)用為控制系統(tǒng)的設(shè)計(jì)和分析提供了極大方便。
本文通過幾個(gè)例子介紹了matlab軟件作為輔助工具在自動(dòng)控制原理教學(xué)中的應(yīng)用,利用matlab軟件,可以方便地分析系統(tǒng)的穩(wěn)定性、進(jìn)行時(shí)域分析、繪制并分析系統(tǒng)的根軌跡等,簡單方便并且直觀,這些利用筆算很難完成。
參考文獻(xiàn):
[1]陳鐵牛,主編.自動(dòng)控制原理.北京:機(jī)械工業(yè)出版社,2007.
[2]孔凡才.自動(dòng)控制原理與系統(tǒng).北京:機(jī)械工業(yè)出版社,2008.
[3]胡壽松,主編.自動(dòng)控制原理.北京:科學(xué)出版社,2007.
[4]魏巍.MATLAB控制工程工具箱技術(shù)手冊(cè).北京:國防工業(yè)出版社,2004.