MATLAB程序設(shè)計及應(yīng)用學(xué)習(xí)教程 (優(yōu)秀PPT課件) 數(shù)值計算、圖形繪制、數(shù)據(jù)處理、圖像處理應(yīng)用程序集_第1頁
MATLAB程序設(shè)計及應(yīng)用學(xué)習(xí)教程 (優(yōu)秀PPT課件) 數(shù)值計算、圖形繪制、數(shù)據(jù)處理、圖像處理應(yīng)用程序集_第2頁
MATLAB程序設(shè)計及應(yīng)用學(xué)習(xí)教程 (優(yōu)秀PPT課件) 數(shù)值計算、圖形繪制、數(shù)據(jù)處理、圖像處理應(yīng)用程序集_第3頁
MATLAB程序設(shè)計及應(yīng)用學(xué)習(xí)教程 (優(yōu)秀PPT課件) 數(shù)值計算、圖形繪制、數(shù)據(jù)處理、圖像處理應(yīng)用程序集_第4頁
MATLAB程序設(shè)計及應(yīng)用學(xué)習(xí)教程 (優(yōu)秀PPT課件) 數(shù)值計算、圖形繪制、數(shù)據(jù)處理、圖像處理應(yīng)用程序集_第5頁
已閱讀5頁,還剩198頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

MATLAB程序設(shè)計及應(yīng)用學(xué)習(xí)教程

MATLAB在工程中的應(yīng)用

cc由于MATLAB的使用非常方便,并且提供了數(shù)值計算、圖形繪制、數(shù)據(jù)處理、圖像處理等方面的強大功能,因此許多工程領(lǐng)域?qū)<以贛ATLAB的基礎(chǔ)上為他們擅長的領(lǐng)域?qū)懥艘恍S玫膽?yīng)用程序集,稱之為工具箱(Toolbox)。

MATLAB在工程中的應(yīng)用

cc

MATLAB中含有豐富的專門用于控制系統(tǒng)分析與設(shè)計的函數(shù),可以實現(xiàn)對線性系統(tǒng)的建模、時域或頻域分析與設(shè)計,利用的是控制系統(tǒng)工具箱中的各種算法程序,而這些算法程序大部分都是M函數(shù)文件,可以直接調(diào)用。MATLAB在自動控制中的應(yīng)用MATLAB在自動控制中的應(yīng)用1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)控制系統(tǒng)的數(shù)學(xué)模型通常是指動態(tài)數(shù)學(xué)模型。自動控制系統(tǒng)中最基本也是最重要的數(shù)學(xué)模型是微分方程,它反映了部件或系統(tǒng)的動態(tài)運行規(guī)律。應(yīng)用拉氏變換將線性微分方程轉(zhuǎn)化為傳遞函數(shù),以及基于傳遞函數(shù)的圖形化形式——系統(tǒng)結(jié)構(gòu)圖,都是自動控制系統(tǒng)的數(shù)學(xué)模型。MATLAB處理的是數(shù)組對象,而其控制系統(tǒng)工具箱處理的系統(tǒng)是線性時不變(LTI)系統(tǒng)。在MATLAB中,可以用4種數(shù)學(xué)模型表示自動控制系統(tǒng),其中前3種是用數(shù)學(xué)表達(dá)式描述。每種數(shù)學(xué)模型都有連續(xù)時間系統(tǒng)和離散時間系統(tǒng)兩個類別。MATLAB中的Simulink結(jié)構(gòu)圖是第4種數(shù)學(xué)模型。

控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)

1.控制系統(tǒng)數(shù)學(xué)模型的MATLAB實現(xiàn)

LTI對象可以是連續(xù)時間系統(tǒng),也可以是離散時間系統(tǒng)。連續(xù)時間系統(tǒng)一般是由微分方程來描述的。而線性系統(tǒng)又是以線性微分方程來描述的。假設(shè)系統(tǒng)的輸入、輸出信號分別為和,則系統(tǒng)的微分方程可寫成

其中,和為常數(shù)。1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)

對應(yīng)的傳遞函數(shù)定義為:在零初始條件下,系統(tǒng)輸出量的拉氏變換與輸入量的拉氏變換之比 (9.2)

對于離散時間系統(tǒng),常常以定常系數(shù)線性差分方程來描述。單輸入單輸出(SISO)的LTI系統(tǒng)的差分方程為

(9.3)其中,和為常數(shù)。1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)

對應(yīng)的脈沖傳遞函數(shù)為 (9.4)

無論是連續(xù)時間系統(tǒng)還是離散時間系統(tǒng),傳遞函數(shù)的分子、分母多項式均按‘s’或‘z’的降冪排列,都可以直接用分子、分母多項式系數(shù)構(gòu)成的兩個向量num和den表示系統(tǒng),即 (9.5)1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)在MATLAB中,分別用一維“行”數(shù)組(向量)表示完分子、分母多項式系數(shù)后,再利用控制系統(tǒng)工具箱的函數(shù)tf就可以用一個變量表示傳遞函數(shù)模型。tf函數(shù)的調(diào)用格式為 sys=tf(num,den) sys=tf(num,den,T)【說明】

在第1種格式中,輸出宗量sys為連續(xù)時間系統(tǒng)的傳遞函數(shù)模型;輸入宗量num和den分別為系統(tǒng)的分子與分母多項式系數(shù)向量。在第2種格式中,輸出宗量sys為離散時間系統(tǒng)的脈沖傳遞函數(shù)模型;輸入宗量num和den含義同上;T為采樣周期,當(dāng)T=-1或T=[]時,系統(tǒng)的采樣周期未定義。1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)需要注意的是:當(dāng)多項式的某項系數(shù)為0時,千萬不能忽略不寫。如果忽略,多項式將降階。

對于已知的傳遞函數(shù)模型,其分子與分母多項式系數(shù)向量可以分別用指令sys.num{1}和sys.den{1}求出。1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)如果連續(xù)時間系統(tǒng)的傳遞函數(shù)用系統(tǒng)零點、極點和增益來表示,稱為系統(tǒng)的零極點增益模型,即有

(9.6)其中,k為系統(tǒng)增益;-z1,-z2,…,-zm為系統(tǒng)零點;-p1,-p2,…,-pn為系統(tǒng)極點(下同)。

離散時間系統(tǒng)的脈沖傳遞函數(shù)也可用系統(tǒng)零點、極點和增益來表示,有

(9.7)1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)

無論是連續(xù)時間系統(tǒng)還是離散時間系統(tǒng),都可以直接用列向量z,p和k構(gòu)成的向量組來表示,即有 (9.8)在MATLAB中,用函數(shù)zpk來建立控制系統(tǒng)的零極點增益模型。zpk函數(shù)的調(diào)用格式為 sys=zpk(z,p,k) sys=zpk(z,p,k,T)1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)【說明】

第1種格式中,輸出宗量sys為連續(xù)系統(tǒng)的零極點增益模型;輸入宗量z,p和k分別為系統(tǒng)的零點、極點和增益。

第2種格式中,輸出宗量sys為離散系統(tǒng)的零極點增益模型;輸入宗量z,p和k含義同上;T為采樣周期,當(dāng)T=-1或T=[]時,系統(tǒng)的采樣周期未定義。

對于已知的零極點增益模型,其零點與極點系數(shù)向量及增益可以分別用指令sys.z{1},sys.p{1}和sys.k求出。1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)離散時間系統(tǒng)的脈沖傳遞函數(shù)模型還有一種以為因子的分子分母多項式的形式(即DSP形式),建立DSP形式脈沖傳遞函數(shù)模型的MATLAB函數(shù)為filt,其調(diào)用格式為 sys=filt(num,den) sys=filt(num,den,T)【說明】第1種格式用來建立一個采樣周期未指定的DSP形式脈沖傳遞函數(shù)。第2種格式用來建立一個采樣周期指定為T的DSP形式脈沖傳遞函數(shù)。連續(xù)LTI系統(tǒng)的狀態(tài)空間模型為

(9.9)其中,u(t)是系統(tǒng)控制輸入向量;x(t)是系統(tǒng)狀態(tài)向量;y(t)是系統(tǒng)輸出向量;A為系統(tǒng)矩陣(或稱狀態(tài)矩陣);B為控制矩陣(或稱輸入矩陣);C為輸出矩陣(或稱觀測矩陣);D為輸入輸出矩陣(或稱直接傳輸矩陣)。1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)離散時間系統(tǒng)的狀態(tài)空間模型為

(9.10)其中,u(k)、x(k)和y(k)分別是離散時間系統(tǒng)的控制輸入向量、系統(tǒng)狀態(tài)向量和系統(tǒng)輸出向量;A,B,C和D的含義同上;k表示采樣點。

連續(xù)時間系統(tǒng)和離散時間系統(tǒng)的狀態(tài)空間模型都可以直接用二維數(shù)組(即矩陣)組表示。1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)在MATLAB中,用函數(shù)ss來建立控制系統(tǒng)的狀態(tài)空間模型。ss函數(shù)的調(diào)用格式為 sys=ss(A,B,C,D) sys=ss(A,B,C,D,T)【說明】

第1種格式中,輸出宗量sys為連續(xù)時間系統(tǒng)的狀態(tài)空間模型。

第2種格式中,輸出宗量sys為離散時間系統(tǒng)的狀態(tài)空間模型;T為采樣周期,當(dāng)T=-1或T=[]時,系統(tǒng)的采樣周期未定義。

對于已知的狀態(tài)空間模型,其參數(shù)矩陣A,B,C和D可以分別用指令sys.a,sys.b,sys.c和sys.d求出。1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)【例9.1】將傳遞函數(shù)模型輸入到MATLAB工作空間。編寫M腳本文件exam9_1.m如下:%exam9_1clearnum=[12,24,12,20];den=[2,4,6,2,2];sys=tf(num,den) %獲得系統(tǒng)的數(shù)學(xué)模型1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)exam9_1.m的運行結(jié)果【說明】

運行該程序后,在MATLAB的工作空間中可以看到一個變量,其值為一個1×1的傳遞函數(shù)。1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)%exam9_2clearnum=[1.6,-5.8,3.9];den=[1,-0.7,2.4];sys=tf(num,den,0.1)sys1=filt(num,den,0.1)【例9.2】已知二階離散時間系統(tǒng)的脈沖傳遞函數(shù)為

試求采樣周期時,系統(tǒng)脈沖傳遞函數(shù)的DSP形式。編寫M腳本文件exam9_2.m如下:1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)exam9_2.m的運行結(jié)果1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)%exam9_3clearp=[-1;-2;-3;-4];%注意應(yīng)使用列向量z=[-5;-2+2i;-2-2i];sys=zpk(z,p,6)【例9.3】將零極點增益模型輸入到MATLAB工作空間。編寫M腳本文件exam9_3.m如下:1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)exam9_3.m的運行結(jié)果【說明】

在MATLAB的零極點增益模型顯示中,如果有復(fù)數(shù)零極點存在,則用二階多項式來表示兩個因式,而不直接展開成一階復(fù)數(shù)因式。1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)

不一定非要有用數(shù)學(xué)表達(dá)式描述的數(shù)學(xué)模型,才能對系統(tǒng)進(jìn)行研究。MATLAB中特有的另外一種數(shù)學(xué)模型就是Simulink模型窗(叫做“untitled”窗)里的動態(tài)結(jié)構(gòu)圖。只要在Simulink工作窗里,按其規(guī)則(參見第8章)畫出動態(tài)結(jié)構(gòu)圖,就是對系統(tǒng)建立了數(shù)學(xué)模型。再按規(guī)則將結(jié)構(gòu)圖的參數(shù)用實際系統(tǒng)的數(shù)據(jù)進(jìn)行設(shè)置,就可以直接、方便地對系統(tǒng)進(jìn)行各種仿真。1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)

2.LTI對象模型之間的相互轉(zhuǎn)換LTI對象模型之間的相互轉(zhuǎn)換是指連續(xù)時間系統(tǒng)(或離散時間系統(tǒng))的傳遞函數(shù)模型、零極點增益模型和狀態(tài)空間模型之間的相互轉(zhuǎn)換。直接應(yīng)用函數(shù)tf,zpk和ss即可以完成。需要指出的是,此類轉(zhuǎn)換從理論上講是不存在轉(zhuǎn)換誤差的。1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)【例9.4】已知系統(tǒng)的狀態(tài)空間模型求其等效的傳遞函數(shù)模型和零極點增益模型。編寫M腳本文件exam9_4.m如下:%exam9_4clearA=[0.3,0.1,0.05;1,0.1,0;1.5,8.9,0.05];B=[2;0;4];C=[1,2,3];D=0;sys_ss=ss(A,B,C,D);sys_tf=tf(sys_ss)sys_zpk=zpk(sys_tf)exam9_4.m的運行結(jié)果1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)即傳遞函數(shù)模型為1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)

3.連續(xù)時間模型與離散時間模型之間的相互轉(zhuǎn)換MATLAB的控制系統(tǒng)工具箱還提供實現(xiàn)連續(xù)時間系統(tǒng)和離散時間系統(tǒng)之間相互轉(zhuǎn)換的函數(shù)。這些函數(shù)對于傳遞函數(shù)模型、零極點增益模型和狀態(tài)空間模型均適用。需要指出的是,此類轉(zhuǎn)換從理論上講是存在轉(zhuǎn)換誤差的。

1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)如果有連續(xù)時間系統(tǒng)模型sysc,將其轉(zhuǎn)換為離散時間系統(tǒng)模型的指令格式為 sysd=c2d(sysc,T,‘method’)【說明】

輸出宗量sysd為轉(zhuǎn)換后離散時間模型對象;輸入宗量sysc為連續(xù)時間模型對象;T為采樣周期,單位為sec;method用來指定離散化采用的方法(缺省時,method=zoh): zoh 采用零階保持器; foh 采用一階保持器; imp 采用脈沖響應(yīng)不變法; tustin采用雙線性變換法(Tustin法) prewarp 采用改進(jìn)的Tustin法; matched 采用SISO系統(tǒng)的零極點根匹配法。1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)如果有離散時間系統(tǒng)模型sysd,將其轉(zhuǎn)換為連續(xù)時間系統(tǒng)模型的指令格式為 sysc=d2c(sysd,‘method’)【說明】

輸出宗量sysc為轉(zhuǎn)換后連續(xù)時間模型對象;輸入宗量sysd為離散時間模型對象;method用來指定離散化采用的方法(缺省時,method=zoh): zoh 采用零階保持器; tustin 采用雙線性變換法(Tustin法) prewarp 采用改進(jìn)的Tustin法; matched 采用SISO系統(tǒng)的零極點根匹配法。在該函數(shù)調(diào)用中無需再申明采樣周期信息,因為該信息已包含在離散模型sysd中。1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)

【例9.5】已知連續(xù)系統(tǒng)的傳遞函數(shù)模型為試分別對系統(tǒng)采用零階保持器和雙線性變換法求其離散化狀態(tài)空間模型(設(shè)采樣周期T=1sec)。編寫M腳本文件exam9_5.m如下:%exam9_5clearnum=[1];den=[1,3,2];sys_continuous=tf(num,den);t=1;%將連續(xù)傳遞函數(shù)轉(zhuǎn)換成脈沖傳遞函數(shù)(zoh)disp('DiscreteSystem--usingc2dwithzoh')sys_discrete_zoh=c2d(sys_continuous,t);%將脈沖傳遞函數(shù)轉(zhuǎn)換成狀態(tài)空間模型sys_zoh=ss(sys_discrete_zoh)%采用雙線性變換法

disp('DiscreteSystem--usingc2dwithtustin')sys_discrete_tustin=c2d(sys_continuous,t,'tustin');sys_tustin=ss(sys_discrete_tustin)1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)exam9_5.m的運行結(jié)果(上半部)DiscreteSystem--usingc2dwithzoha=x1x2x10.5032-0.1991x20.250b=u1x10.5x20c=x1x2y10.39960.588d=u1y10Samplingtime:1Discrete-timemodel.1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)exam9_5.m的運行結(jié)果(下半部)DiscreteSystem--usingc2dwithtustina=x1x2x10.33330x210b=u1x10.5x20c=x1x2y10.38890.1667d=u1y10.08333Samplingtime:1Discrete-timemodel.1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)即采用零階保持器和雙線性變換法的離散化狀態(tài)空間模型分別為1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)

4.環(huán)節(jié)方框圖模型的化簡

自動控制系統(tǒng)是由被控對象與控制裝置組成的,即系統(tǒng)有多個環(huán)節(jié),每個環(huán)節(jié)又是由多個元件構(gòu)成的。環(huán)節(jié)在MATLAB中又叫做模塊。自動控制的對象可以是一個元件,一個環(huán)節(jié),也可以是一個模塊,一個裝置,甚至是一個系統(tǒng)。這要根據(jù)討論問題的實際情況來確定。系統(tǒng)方框圖的化簡同樣適用于環(huán)節(jié)的、模塊的、裝置的方框圖模型的化簡。1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)

環(huán)節(jié)串聯(lián)是指一個環(huán)節(jié)的輸出為相鄰的下一個環(huán)節(jié)的輸入,其余依此類推(圖9.1為兩個環(huán)節(jié)串聯(lián))。將串聯(lián)的多個環(huán)節(jié)的傳遞函數(shù)方框依次串聯(lián)畫出即成為系統(tǒng)方框圖模型??刂葡到y(tǒng)的環(huán)節(jié)串聯(lián)及其化簡就是模塊方框圖模型的串聯(lián)及其化簡。圖9.1

當(dāng)n個模塊方框圖模型sys1,sys2,…,sysn串聯(lián)連接時,其等效的方框圖模型為:sys=sys1*sys2*…*sysn。1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)

當(dāng)n個模塊方框圖模型sys1,sys2,…,sysn并聯(lián)連接時,其等效的方框圖模型為:sys=sys1±sys2±…±sysn(取“+”或“-”由系統(tǒng)結(jié)構(gòu)圖決定)。

環(huán)節(jié)并聯(lián)是指多個環(huán)節(jié)的輸入信號相同,所有環(huán)節(jié)輸出的代數(shù)和為其總輸出。兩個環(huán)節(jié)的并聯(lián)如圖9.2所示。圖9.21.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)

MATLAB中的函數(shù)feedback可以將兩個環(huán)節(jié)反饋連接后求其等效傳遞函數(shù)。feedback函數(shù)的調(diào)用格式為 sys=feedback(sys1,sys2,sign)【說明】feedback函數(shù)將兩個環(huán)節(jié)按反饋方式連接起來;sys1為圖9.3中的G(s);sys2為H(s)(單位反饋時,sys2=1,且不能省略);sign是反饋極性(缺省時,默認(rèn)為負(fù)反饋,即sign=-1)。

兩個環(huán)節(jié)的反饋連接如圖9.3所示。

圖9.31.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)

【例9.6】圖9.4是晶閘管—直流電機轉(zhuǎn)速負(fù)反饋單閉環(huán)調(diào)速系統(tǒng)的系統(tǒng)方框圖,求系統(tǒng)的閉環(huán)傳遞函數(shù)。圖9.4編寫M腳本文件exam9_6.m如下:1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)%exam9_6clearn1=[1];d1=[0.017,1];s1=tf(n1,d1);n2=[1];d2=[0.075,0];s2=tf(n2,d2);s=s1*s2;sys1=feedback(s,1);%求小閉環(huán)的傳遞函數(shù)n3=[0.049,1];d3=[0.088,0];s3=tf(n3,d3);n4=[44];d4=[0.00167,1];s4=tf(n4,d4);n5=1;d5=0.01925;s5=tf(n5,d5);%比例環(huán)節(jié)也要寫成分子、分母多項式形式n6=0.01178;d6=1;s6=tf(n6,d6);sysq=sys1*s3*s4*s5;sys=feedback(sysq,s6)1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)exam9_6.m的運行結(jié)果1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)5.利用Simulink模型求取系統(tǒng)的數(shù)學(xué)模型將Simulink模型和編程相結(jié)合,可以直接求出系統(tǒng)的數(shù)學(xué)模型。

【例9.7】對于圖9.4晶閘管—直流電機轉(zhuǎn)速負(fù)反饋單閉環(huán)調(diào)速系統(tǒng)的系統(tǒng)方框圖,利用Simulink模型求其閉環(huán)傳遞函數(shù)。圖9.41.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)(1)建模的基本思路本例的系統(tǒng)數(shù)學(xué)模型是通過形象直觀的方框圖和各環(huán)節(jié)的傳遞函數(shù)給出的。這特別便于用Simulink的傳遞函數(shù)模塊建模。(2)構(gòu)造“用于系統(tǒng)傳遞函數(shù)計算”的Simulink模型根據(jù)題給方框圖和各環(huán)節(jié)的具體傳遞函數(shù)構(gòu)造Simulink模型(exam9_7_mdl.mdl),如圖9.5所示。圖9.51.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)(3)系統(tǒng)傳遞函數(shù)的獲取編寫M腳本文件exam9_7.m如下:%exam9_7clear[A,B,C,D]=linmod2('exam9_7_mdl');%從Simulink模型得到狀態(tài)空間模型sys_tf=tf(ss(A,B,C,D))%將狀態(tài)空間模型轉(zhuǎn)化為傳遞函數(shù)模型1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)exam9_7.m的運行結(jié)果1.1控制系統(tǒng)數(shù)學(xué)模型及轉(zhuǎn)換的MATLAB實現(xiàn)【說明】

函數(shù)linmod2用于獲取系統(tǒng)的線性化模型。本例獲得的傳遞函數(shù)模型不一定是狀態(tài)空間模型的最小實現(xiàn)。如果要得到最小實現(xiàn)的傳遞函數(shù)模型,則最后一條指令應(yīng)改為:

sys_tf=tf(minreal(ss(A,B,C,D)))其中,函數(shù)minreal用于去除相消零極點對應(yīng)的狀態(tài)變量。本例所得結(jié)果與【例9.6】所得的計算結(jié)果在形式上不一樣。這是因為MATLAB自動對分母多項式的最高項系數(shù)進(jìn)行了“標(biāo)幺化”處理。事實上,如果將【例9.6】所得的計算結(jié)果的各項系數(shù)同時除以3.607e-9,則與本例結(jié)果完全相同。MATLAB在自動控制中的應(yīng)用

9.1.2控制系統(tǒng)時域響應(yīng)的MATLAB實現(xiàn)控制系統(tǒng)時域響應(yīng)的MATLAB數(shù)值解方法有兩種:一種是在MATLAB的函數(shù)方式下進(jìn)行;另一種是利用Simulink動態(tài)結(jié)構(gòu)圖進(jìn)行時域仿真(參見第8章)。1.線性系統(tǒng)的階躍響應(yīng)和脈沖響應(yīng)利用MATLAB所提供的求取系統(tǒng)的單位階躍響應(yīng)函數(shù)step和dstep,單位脈沖響應(yīng)函數(shù)impulse和dimpulse,可以求出其對應(yīng)的響應(yīng)。

9.1.2控制系統(tǒng)時域響應(yīng)的MATLAB實現(xiàn)

step函數(shù)的調(diào)用格式為 step(sys) step(sys,t) [y,t]=step(sys) [y,t,x]=step(sys)【說明】

LTI對象的sys可以是由函數(shù)tf,zpk和ss中任何一個建立的連續(xù)時間系統(tǒng)模型。

9.1.2控制系統(tǒng)時域響應(yīng)的MATLAB實現(xiàn)

第1種格式為無輸出宗量的格式,函數(shù)在當(dāng)前圖形窗中直接繪制出系統(tǒng)的單位階躍響應(yīng)曲線。第2種格式用于計算系統(tǒng)的單位階躍響應(yīng)并繪制出對應(yīng)的曲線。其中,t可以指定為一個仿真終止時間,此時t為一標(biāo)量;也可以設(shè)置為一個時間向量(例如,用指令t=0:dt:Tfinal);函數(shù)中的t也可以沒有。對于離散系統(tǒng)階躍響應(yīng)函數(shù)dstep,時間間隔dt必須與采樣周期匹配。第3種格式為帶有輸出宗量引用的函數(shù),計算系統(tǒng)單位階躍響應(yīng)的輸出數(shù)據(jù),而不繪制曲線。輸出宗量y為系統(tǒng)的響應(yīng)向量,t為取積分值的時間向量。

9.1.2控制系統(tǒng)時域響應(yīng)的MATLAB實現(xiàn)第4種格式為帶有輸出宗量引用的函數(shù),計算系統(tǒng)單位階躍響應(yīng)的輸出數(shù)據(jù),而不繪制曲線。輸出宗量y為系統(tǒng)的響應(yīng)向量,t為取積分值的時間向量,x為系統(tǒng)的狀態(tài)軌跡數(shù)據(jù)。需要注意的是:輸出宗量[y,t,x]三個元素的順序不能錯。這種格式通常用于以函數(shù)ss建立的系統(tǒng)模型。如果想同時繪制出多個系統(tǒng)的階躍響應(yīng)曲線,則可以仿照plot指令給出系統(tǒng)階躍響應(yīng)指令,例如,step(sys1,'-',sys2,'-.',sys3,':r')。上述4種格式離散系統(tǒng)階躍響應(yīng)函數(shù)dstep同樣適用。單位脈沖響應(yīng)函數(shù)impulse和dimpulse的調(diào)用格式相同。

9.1.2控制系統(tǒng)時域響應(yīng)的MATLAB實現(xiàn)

【例9.8】單位反饋系統(tǒng)前向通道的傳遞函數(shù)為試作出其單位階躍響應(yīng)曲線。編寫M腳本文件exam9_8.m如下:%exam9_8clearsys_tf=tf(80,[1,2,0]);closys=feedback(sys_tf,1);step(closys)

9.1.2控制系統(tǒng)時域響應(yīng)的MATLAB實現(xiàn)exam9_8.m的運行結(jié)果圖9.6(a)

9.1.2控制系統(tǒng)時域響應(yīng)的MATLAB實現(xiàn)圖9.6(b)exam9_8.m的運行結(jié)果

在自動繪制的系統(tǒng)單位階躍響應(yīng)曲線上,若單擊曲線上的某點,可以顯示出該點對應(yīng)的時間信息和相應(yīng)的幅值信息,如圖9.6(b)所示。通過這樣的方法就可以很容易地分析系統(tǒng)階躍響應(yīng)的情況。

9.1.2控制系統(tǒng)時域響應(yīng)的MATLAB實現(xiàn)exam9_8.m的運行結(jié)果圖9.7線性系統(tǒng)的階躍響應(yīng)通常采用一些定量的性能指標(biāo)來描述,如系統(tǒng)的超調(diào)量、上升時間、調(diào)節(jié)時間等。在MATLAB自動繪制的階躍響應(yīng)曲線中,如果想要得出這些性能指標(biāo),只需在得到的圖上右擊鼠標(biāo)鍵,則將得出如圖9.7所示的菜單。點擊Characteristics(特征)項,從中選取合適的分析內(nèi)容,就可以得出系統(tǒng)的階躍響應(yīng)指標(biāo),如圖9.7所示。若想獲得某個性能指標(biāo)的具體值,單擊曲線上的對應(yīng)點即可。

9.1.2控制系統(tǒng)時域響應(yīng)的MATLAB實現(xiàn)

值得一提的是:step函數(shù)中的上升時間(RiseTime)不是一般自控原理的教科書中提到的“階躍響應(yīng)曲線第1次達(dá)到穩(wěn)態(tài)值的時間”,而是“階躍響應(yīng)曲線從穩(wěn)態(tài)值的10%上升到穩(wěn)態(tài)值的90%所需的時間”。

9.1.2控制系統(tǒng)時域響應(yīng)的MATLAB實現(xiàn)2.線性系統(tǒng)的零輸入響應(yīng)零輸入響應(yīng)是系統(tǒng)初始狀態(tài)引發(fā)的動態(tài)過程。此時,系統(tǒng)無輸入信號作用,響應(yīng)只與系統(tǒng)的初始狀態(tài)、結(jié)構(gòu)及參數(shù)有關(guān)。零輸入響應(yīng)函數(shù)initial的調(diào)用格式為 initial(sys,x0) initial(sys,x0,t) [y,t]=initial(sys,x0) [y,t,x]=initial(sys,x0)【說明】x0為初始狀態(tài);sys必須是狀態(tài)空間模型;其余均與step函數(shù)完全一致。離散時間系統(tǒng)零輸入響應(yīng)函數(shù)dinitial調(diào)用格式基本相同。

9.1.2控制系統(tǒng)時域響應(yīng)的MATLAB實現(xiàn)

【例9.9】系統(tǒng)模型如圖9.4所示,繪制初始狀態(tài)為x0=[1,0,0,0]T時的輸入響應(yīng)曲線。編寫M腳本文件exam9_9.m如下:%exam9_9clear[A,B,C,D]=linmod2('exam9_7_mdl');x0=[1,0,0,0]';initial(ss(A,B,C,D),x0)圖9.8

9.1.2控制系統(tǒng)時域響應(yīng)的MATLAB實現(xiàn)exam9_9.m的運行結(jié)果

9.1.2控制系統(tǒng)時域響應(yīng)的MATLAB實現(xiàn)3.任意輸入下系統(tǒng)的響應(yīng)

如果輸入信號由其它數(shù)學(xué)模型描述,或輸入信號的數(shù)學(xué)模型未知,則需要借助于函數(shù)lsim和dlsim來繪制系統(tǒng)的時域響應(yīng)曲線。lsim函數(shù)的調(diào)用格式與step等函數(shù)的調(diào)用格式相類似。所不同的是,需要提供有關(guān)輸入信號的函數(shù)值。lsim函數(shù)的調(diào)用格式為 lsim(sys,u,t) lsim(sys,u,t,x0) [y]=lsim(sys,u,t) [y,t,x]=lsim(sys,u,t,x0)【說明】u和t用于描述輸入信號,u中的點對應(yīng)于各個時間點處的輸入信號值。離散時間系統(tǒng)任意輸入響應(yīng)函數(shù)dlsim的調(diào)用格式基本相同。

9.1.2控制系統(tǒng)時域響應(yīng)的MATLAB實現(xiàn)

【例9.10】某二階系統(tǒng)的數(shù)學(xué)模型為試?yán)L制系統(tǒng)對99點隨機噪聲的響應(yīng)曲線。編寫M腳本文件exam9_10.m如下:%exam9_10clearnum=[2,-6.8,3.6];den=[3,-4.3,1.75];u=rand(99,1);dlsim(num,den,u); %在dlsim函數(shù)中直接使用系統(tǒng)模型參數(shù)title('隨機噪聲響應(yīng)')xlabel('時間');ylabel('振幅');grid圖9.9

9.1.2控制系統(tǒng)時域響應(yīng)的MATLAB實現(xiàn)exam9_10.m的運行結(jié)果MATLAB在自動控制中的應(yīng)用

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)在自動控制系統(tǒng)特性分析中,系統(tǒng)的穩(wěn)定性是最重要的指標(biāo)。如果系統(tǒng)穩(wěn)定,則可以進(jìn)一步分析系統(tǒng)的其它性能;反之,系統(tǒng)不能直接應(yīng)用,需要引入控制器來使得系統(tǒng)穩(wěn)定。對系統(tǒng)穩(wěn)定性的分析通常是通過代數(shù)穩(wěn)定性判據(jù)、根軌跡圖和頻率特性圖來進(jìn)行的。對于后兩種方法,MATLAB提供便捷的作圖和分析結(jié)果;對于第一種方法,MATLAB則是通過求出系統(tǒng)特征值的數(shù)值解而完全取代了傳統(tǒng)的代數(shù)穩(wěn)定性判據(jù)。

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)1.線性系統(tǒng)特征根的求取

MATLAB中與求取系統(tǒng)特征根相關(guān)的常用函數(shù)的調(diào)用格式為 p=eig(sys) pzmap(sys) pole(sys) zero(sys)【說明】LTI對象的sys可以是由函數(shù)tf,zpk和ss中任何一個建立的系統(tǒng)模型,且無論系統(tǒng)是連續(xù)的還是離散的。第1種格式返回系統(tǒng)的全部特征根。第2種格式用圖形的方式繪制出系統(tǒng)所有零極點在s平面(或z平面)上的位置。

第3種格式求出系統(tǒng)的所有極點。第4種格式求出系統(tǒng)的所有零點?!纠?.11】假設(shè)離散時間系統(tǒng)(采樣周期T

=0.1sec)的被控對象和控制器的模型分別為 ,試分析單位反饋下閉環(huán)系統(tǒng)的穩(wěn)定性。編寫M腳本文件exam9_11.m如下:

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)%exam9_11clearnum1=[6,-0.6,-0.12];den1=[1,-1,0.25,0.25,-0.125];h=tf(num1,den1,0.1);num2=[0.3,-0.3*0.6];den2=[1,0.8];g=tf(num2,den2,0.1);sys=h*g;closys=feedback(sys,1);abs(eig(closys)')%求出系統(tǒng)特征值的模pzmap(closys)

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)exam9_11的運行結(jié)果圖9.10

由于前兩個特征根的模均大于1,所以判定閉環(huán)系統(tǒng)是不穩(wěn)定的。這一點從圖9.10也可看出(系統(tǒng)存在單位圓外的極點)。

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)2.根軌跡分析的MATLAB實現(xiàn)根軌跡繪制的基本思路是:假設(shè)單變量系統(tǒng)的開環(huán)傳遞函數(shù)為G(s),且設(shè)控制器的增益為K,整個控制系統(tǒng)是由單位負(fù)反饋構(gòu)成的閉環(huán)系統(tǒng),閉環(huán)系統(tǒng)的特征根可以由下列方程求出

(9.11)從而化為多項式方程求根的問題。對于指定的K值,可以求出閉環(huán)系統(tǒng)的一組特征根。改變K的值可能得出另外的一組根。對K的不同取值,則可以繪制出每個特征根變化的曲線,即系統(tǒng)的根軌跡。

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)

MATLAB中提供了函數(shù)rlocus,可以直接用于系統(tǒng)的根軌跡繪制。rlocus函數(shù)的調(diào)用方法類似于step函數(shù),常用的調(diào)用格式為 rlocus(sys) rlocus(sys,k) [r,k]=rlocus(sys)【說明】

第1種格式不輸出宗量,自動繪制根軌跡曲線。第2種格式是根據(jù)給定的增益向量繪制根軌跡曲線。第3種格式輸出增益和對應(yīng)的閉環(huán)特征根??梢酝瑫r繪制出若干個系統(tǒng)的根軌跡。例如,rlocus(sys1,'-',sys2,'-.',sys3,':r')。上述3種格式對連續(xù)時間系統(tǒng)和離散時間系統(tǒng)均適用。

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)繪制出系統(tǒng)的根軌跡曲線后,利用grid指令將在根軌跡曲線上疊印出等阻尼線和等自然頻率線,根據(jù)等阻尼線可以進(jìn)行基于根軌跡的系統(tǒng)設(shè)計。

【例9.12】假設(shè)系統(tǒng)的開環(huán)傳遞函數(shù)為試?yán)L制系統(tǒng)的根軌跡曲線,并判斷系統(tǒng)的穩(wěn)定性與增益的關(guān)系。編寫M腳本文件exam9_12.m如下:%exam9_12clearnum=[1,4,8];den=[1,18,120.5,357.5,478.5,306];sys=tf(num,den);rlocus(sys)

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)exam9_12的運行結(jié)果(圖9.11)

單擊根軌跡上的點,可以顯示出該點處的增益值和其它相關(guān)信息。從圖9.11可以看出,該系統(tǒng)是條件穩(wěn)定的。單擊根軌跡與虛軸相交的點,可以得出該點處增益的臨界值約為779??梢?,若系統(tǒng)的增益K>779,閉環(huán)系統(tǒng)不穩(wěn)定。

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)

前面介紹的都是繪制的負(fù)反饋系統(tǒng)的根軌跡曲線,而使用指令rlocus(-sys)可以直接繪制出正反饋系統(tǒng)的根軌跡曲線(即所謂“廣義根軌跡”)。

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)3.頻域分析的MATLAB實現(xiàn)

頻域分析中主要用到兩種曲線(或叫圖):Nyquist圖和Bode圖。它們就是頻域分析的兩種工具。Nyquist圖主要用于頻域穩(wěn)定性分析;Bode圖可以用于分析系統(tǒng)的幅值穩(wěn)定裕度、相位穩(wěn)定裕度、截止頻率、-180°穿越頻率、帶寬、擾動抑止及其穩(wěn)定性等,因而在頻域分析中有著重要的地位。

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)【說明】

LTI對象的sys可以是由函數(shù)tf、zpk、ss中任何一個建立的系統(tǒng)模型,且無論系統(tǒng)是連續(xù)的還是離散的。第1種格式不輸出宗量,而自動繪制Nyquist曲線(默認(rèn)的頻率ω的范圍為0→+∞,并且利用對稱性畫出了ω從-∞→0曲線的鏡像)。第2種格式是根據(jù)給定的頻率點繪制Nyquist曲線。如果要定義頻率范圍,w必須是[wmin,wmax]格式;如果定義的是頻率點,則必須是由所需要頻率點頻率構(gòu)成的向量。第3種格式計算系統(tǒng)在頻率w處的頻率響應(yīng)輸出數(shù)據(jù),而不繪制曲線。輸出宗量re為頻率響應(yīng)的實部;im為頻率響應(yīng)的虛部;w是頻率點??梢酝瑫r繪制出若干個系統(tǒng)的Nyquist曲線。例如,nyquist(sys1,'-',sys2,'-.',sys3,':r')。

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)

繪制出系統(tǒng)的Nyquist曲線后,利用grid指令將在Nyquist圖上疊印出等M圓?!纠?.13】假設(shè)系統(tǒng)的開環(huán)傳遞函數(shù)為試?yán)L制其Nyquist圖,并判斷閉環(huán)系統(tǒng)的穩(wěn)定性。編寫M腳本文件exam9_13.m如下:

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)%exam9_13clearn1=2.7778;d1=[1,0];s1=tf(n1,d1);n2=[1];d2=[1,2,1];s2=tf(n2,d2);n3=[1,0.192,1.92];d3=[1,0.384,2.56];s3=tf(n3,d3);sys=s1*s2*s3;nyquist(sys)%為觀察(-1,j0)點附近Nyquist曲線走向,調(diào)整坐標(biāo)范圍axis([-2.5,0,-1.5,1.5])grid

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)exam9_13的運行結(jié)果(圖9.12)

單擊Nyquist曲線上的點,則可以顯示出在該點處頻率、實部和虛部等信息,如圖9.12所示。這種獲得附加信息的方法對后面介紹的函數(shù)bode和margin同樣適用。從圖9.12可以看出,盡管曲線的走向比較復(fù)雜,但整個Nyquist曲線并不包圍(-1,j0)點;同時,由于開環(huán)系統(tǒng)不含有不穩(wěn)定的極點,所以根據(jù)控制理論中的Nyquist判據(jù)可以斷定:閉環(huán)系統(tǒng)是穩(wěn)定的。

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)MATLAB控制系統(tǒng)工具箱中提供的函數(shù)bode,可以直接繪制系統(tǒng)的Bode圖。該函數(shù)常用的調(diào)用格式為 bode(sys) bode(sys,w) [mag,phase,w]=bode(sys)【說明】

該函數(shù)的使用類似于函數(shù)nyquist。第3種格式的輸出宗量mag為頻率響應(yīng)的幅值A(chǔ)(ω);phase為頻率響應(yīng)的相位φ

(ω);w是頻率點。

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)【例9.14】續(xù)【例9.13】,試?yán)L制系統(tǒng)的Bode圖,并判斷閉環(huán)系統(tǒng)的穩(wěn)定性。編寫M腳本文件exam9_14.m如下:%exam9_14clearn1=2.7778;d1=[1,0];s1=tf(n1,d1);n2=[1];d2=[1,2,1];s2=tf(n2,d2);n3=[1,0.192,1.92];d3=[1,0.384,2.56];s3=tf(n3,d3);sys=s1*s2*s3;bode(sys,{0.1,10})%繪制ω從0.1→10的Bode圖,注意格式grid

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)exam9_14的運行結(jié)果和系統(tǒng)的單位階躍響應(yīng)(圖9.13)點擊Bode圖上對數(shù)頻率特性曲線在0dB處的點,并查出對應(yīng)頻率點處的相位值(約為-178°)??梢姡洪]環(huán)系統(tǒng)是穩(wěn)定的,但由于穩(wěn)定裕度太小,其階躍響應(yīng)的振蕩是很劇烈的。

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)圖9.14

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)

基于頻域分析的穩(wěn)定裕度是衡量系統(tǒng)穩(wěn)定情況的有效的定量指標(biāo)。MATLAB控制系統(tǒng)工具箱中提供了函數(shù)margin,可以直接用于系統(tǒng)的幅值和相位穩(wěn)定裕度的求取。該函數(shù)常用的調(diào)用格式為 margin(sys) [gm,Pm,wg,wc]=margin(sys)【說明】

第1種格式無輸出宗量,自動繪制系統(tǒng)的Bode圖,并在圖上標(biāo)出系統(tǒng)的對數(shù)幅值穩(wěn)定裕度值Gm、相位穩(wěn)定裕度值Pm、-180°穿越頻率和截止頻率。若某個穩(wěn)定裕度為無窮大,則顯示Inf(下同)。第2種格式不繪制系統(tǒng)的Bode圖,輸出宗量為系統(tǒng)的幅值穩(wěn)定裕度值gm、相位穩(wěn)定裕度值Pm、截止頻率和-180°穿越頻率。幅值穩(wěn)定裕度值gm與對數(shù)幅值穩(wěn)定裕度Gm之間的關(guān)系為

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)

【例9.15】續(xù)【例9.14】,試確定系統(tǒng)的穩(wěn)定裕度。編寫M腳本文件exam9_15.m如下:%exam9_15clearn1=2.7778;d1=[1,0];s1=tf(n1,d1);n2=[1];d2=[1,2,1];s2=tf(n2,d2);n3=[1,0.192,1.92];d3=[1,0.384,2.56];s3=tf(n3,d3);sys=s1*s2*s3;[gm,Pm,wg,wc]=margin(sys)margin(sys)

9.1.3控制系統(tǒng)穩(wěn)定性分析的MATLAB實現(xiàn)exam9_15的運行結(jié)果(圖9.15)gm=1.1050Pm=2.0985wg=0.9621wc=0.9261

系統(tǒng)的幅值穩(wěn)定裕度為1.1050(對應(yīng)的對數(shù)幅值穩(wěn)定裕度為20*lg(1.1050)=0.8669dB),頻率(即-180°穿越頻率)為0.9621rad/sec;相位穩(wěn)定裕度為2.0985°,頻率(即截止頻率)為0.9261rad/sec。由于穩(wěn)定裕度較小,閉環(huán)系統(tǒng)的階躍響應(yīng)將有劇烈振蕩。MATLAB在自動控制中的應(yīng)用

9.1.4經(jīng)典控制的MATLAB輔助設(shè)計簡介在經(jīng)典控制理論中,所謂系統(tǒng)設(shè)計,就是在給定的性能指標(biāo)條件下,對于給定的對象模型,確定一個能夠完成給定任務(wù)的控制器(常稱為校正器或者補償器),即確定控制器的結(jié)構(gòu)和參數(shù)。控制系統(tǒng)的設(shè)計又叫做控制系統(tǒng)的校正或者控制系統(tǒng)的校正設(shè)計??刂葡到y(tǒng)的校正設(shè)計的方法很多,利用MATLAB的控制系統(tǒng)工具箱中的眾多函數(shù),可以大大地減少計算和繪制圖形的工作量,達(dá)到事半功倍的效果。

9.1.4經(jīng)典控制的MATLAB輔助設(shè)計簡介

【例9.16】已知單位反饋系統(tǒng)的被控對象為試設(shè)計串聯(lián)校正器,使得:①在單位斜坡信號的作用下,系統(tǒng)的速度誤差系數(shù)Kv≥30sec-1;

②系統(tǒng)校正后的截止頻率ωc≥2.3rad/sec;③系統(tǒng)校正后的相位穩(wěn)定裕度Pm>40°。

9.1.4經(jīng)典控制的MATLAB輔助設(shè)計簡介

采用Bode圖法設(shè)計串聯(lián)校正器。

(1)確定K0被控對象為I型系統(tǒng),單位斜坡響應(yīng)的速度誤差系數(shù) Kv

=K=K0≥30sec-1其中,K0是系統(tǒng)的開環(huán)增益。取K0=30sec-1,則被控對象的傳遞函數(shù)為

9.1.4經(jīng)典控制的MATLAB輔助設(shè)計簡介(2)作原系統(tǒng)的Bode圖和階躍響應(yīng)曲線,檢查是否滿足要求編寫M腳本文件exam9_16_1.m如下:%exam9_16_1cleark0=30;z=[];p=[0;-10;-5];sys0=zpk(z,p,k0*10*5);figure(1);margin(sys0);grid %函數(shù)figure用來創(chuàng)建圖形窗口figure(2);step(feedback(sys0,1)),grid

9.1.4經(jīng)典控制的MATLAB輔助設(shè)計簡介exam9_16_1的運行結(jié)果(圖9.16)

9.1.4經(jīng)典控制的MATLAB輔助設(shè)計簡介從圖9.16可以看出,未校正系統(tǒng)的頻域性能指標(biāo)為: 對數(shù)幅值穩(wěn)定裕度Gm0=-6.02dB-180°穿越頻率ωg0=7.07rad/sec

相位穩(wěn)定裕度Pm0=-17.2°

截止頻率ωc0=9.77rad/sec對數(shù)幅值穩(wěn)定裕度和相位穩(wěn)定裕度均為負(fù)值,這樣的系統(tǒng)根本無法工作。系統(tǒng)必須進(jìn)行校正。

9.1.4經(jīng)典控制的MATLAB輔助設(shè)計簡介(3)求校正器的傳遞函數(shù)由于給定的開環(huán)截止頻率ωc≥2.3rad/sec,遠(yuǎn)小于ωc0=9.77rad/sec,可以通過壓縮頻帶寬度來改善相位裕度,因此采用串聯(lián)滯后校正是合理的。令校正器的傳遞函數(shù)為顯然,應(yīng)有β>1。

9.1.4經(jīng)典控制的MATLAB輔助設(shè)計簡介

①確定新的開環(huán)截止頻率ωc希望的相位穩(wěn)定裕度Pm>40°,所以根據(jù)滯后校正的設(shè)計方法,應(yīng)有其中,(2°~5°)是附加相位補償角。取其等于5°,則有于是,有

9.1.4經(jīng)典控制的MATLAB輔助設(shè)計簡介

從圖9.16(a)的對數(shù)相頻特性圖上可以取得對應(yīng)于-135°的ω為2.77rad/sec,即有。

9.1.4經(jīng)典控制的MATLAB輔助設(shè)計簡介

②計算高頻衰減率β從圖9.16(a)的對數(shù)幅頻特性圖上可以取得對應(yīng)于的L為19.2dB,于是,有從而

9.1.4經(jīng)典控制的MATLAB輔助設(shè)計簡介③計算兩個轉(zhuǎn)折頻率ω1和ω2所以,校正器的傳遞函數(shù)為校正后的開環(huán)傳遞函數(shù)為

9.1.4經(jīng)典控制的MATLAB輔助設(shè)計簡介(4)校驗系統(tǒng)校正后的頻域性能是否滿足要求編寫M腳本文件exam9_16_2.m如下:%exam9_16_2clear,clck0=30;z=[];p=[0,-10,-5];sys0=zpk(z,p,k0*10*5);n=[3.6,1];d=[32.9,1];sys1=tf(n,d);sys=tf(sys0)*sys1;figure(1);margin(sys);grid figure(2);step(feedback(sys,1)),grid

9.1.4經(jīng)典控制的MATLAB輔助設(shè)計簡介exam9_16_2的運行結(jié)果(圖9.17)

9.1.4經(jīng)典控制的MATLAB輔助設(shè)計簡介從圖9.17可以看出,校正后系統(tǒng)的頻率性能指標(biāo)為:

對數(shù)幅值穩(wěn)定裕度Gm=12.5dB-180°穿越頻率ωg=6.8rad/sec

相位穩(wěn)定裕度Pm=40.3° 截止頻率ωc=2.78rad/sec顯然,系統(tǒng)校正后的相位穩(wěn)定裕度和截止頻率均滿足給定的要求。MATLAB在自動控制中的應(yīng)用

9.1.5現(xiàn)代控制的MATLAB輔助設(shè)計簡介現(xiàn)代控制理論的基本設(shè)計方法是狀態(tài)反饋控制器設(shè)計,包括狀態(tài)反饋增益矩陣的設(shè)計和狀態(tài)觀測器增益矩陣的設(shè)計,如圖9.18所示。圖9.18

9.1.5現(xiàn)代控制的MATLAB輔助設(shè)計簡介

開環(huán)系統(tǒng)的狀態(tài)空間模型為

(9.12)由圖9.18,將代入上式中,則在狀態(tài)反饋增益矩陣K下,閉環(huán)系統(tǒng)的狀態(tài)空間模型可寫為 (9.13)如果開環(huán)系統(tǒng)完全可控,則選擇合適的K矩陣,可以將閉環(huán)系統(tǒng)矩陣(A-BK)的特征值配置到任意地方(當(dāng)然,還要滿足共軛復(fù)數(shù)的約束)。

9.1.5現(xiàn)代控制的MATLAB輔助設(shè)計簡介在極點配置過程中,假設(shè)了系統(tǒng)的所有狀態(tài)都可被量測并用于反饋。然而在實際情況中,并非所有狀態(tài)都可被直接量測,這就需要對不可直接量測的狀態(tài)進(jìn)行估計。對不可量測的狀態(tài)進(jìn)行估計稱為狀態(tài)觀測,觀測狀態(tài)變量的裝置(或計算機程序)稱為狀態(tài)觀測器。根據(jù)現(xiàn)代控制理論,狀態(tài)觀測器滿足的誤差狀態(tài)方程為 (9.14)其中,。只要開環(huán)系統(tǒng)是完全可觀的,可以將矩陣(A-LC)的特征值配置到任意地方,從而可以使觀測出的狀態(tài)可以逼近原系統(tǒng)的狀態(tài)(只要將該矩陣的特征值全部配置在左半s平面上)。

9.1.5現(xiàn)代控制的MATLAB輔助設(shè)計簡介將(9.12)式代入(9.14)式,并將觀測出的狀態(tài)作為輸出反饋量,則得觀測器滿足的狀態(tài)空間模型為 (9.15)

令則有

(9.16)

9.1.5現(xiàn)代控制的MATLAB輔助設(shè)計簡介

MATLAB的控制系統(tǒng)工具箱提供了一系列函數(shù),可用于狀態(tài)反饋控制器的輔助設(shè)計。它們常用的調(diào)用格式為 ctrb(sys) obsv(sys) K=place(A,B,p) L=place(A',C',p)【說明】

以上函數(shù)要求對象模型sys為狀態(tài)空間模型。第1種格式求出系統(tǒng)的可控性矩陣。第2種格式求出系統(tǒng)的可觀性矩陣。第3種格式求出狀態(tài)反饋增益矩陣。A為系統(tǒng)的狀態(tài)矩陣;B為系統(tǒng)的輸入矩陣;p為指定的閉環(huán)系統(tǒng)極點;輸出宗量K為狀態(tài)反饋增益矩陣。

9.1.5現(xiàn)代控制的MATLAB輔助設(shè)計簡介

第4種格式求出狀態(tài)觀測器增益矩陣。A'為系統(tǒng)的狀態(tài)矩陣A的轉(zhuǎn)置;C'為系統(tǒng)的觀測矩陣C的轉(zhuǎn)置;p為指定的閉環(huán)系統(tǒng)極點;輸出宗量L為狀態(tài)觀測器增益矩陣?!纠?.17】已知某控制系統(tǒng)的開環(huán)傳遞函數(shù)為試判斷系統(tǒng)的可控性并求狀態(tài)反饋增益矩陣K,使得系統(tǒng)的閉環(huán)極點為:,。在系統(tǒng)的閉環(huán)極點不變的情況下,計算狀態(tài)觀測器增益矩陣L。以狀態(tài)反饋和狀態(tài)觀測器構(gòu)成閉環(huán)回路完成單位階躍仿真。

9.1.5現(xiàn)代控制的MATLAB輔助設(shè)計簡介

(1)判別系統(tǒng)的可控性并求出狀態(tài)反饋增益矩陣K編寫M腳本文件exam9_17_1.m如下:%exam9_17_1cleark=10;z=[];p=[-1;-2;-3];s=zpk(z,p,k);sys=ss(s);A=sys.a;B=sys.b;C=sys.c;%求出所需的系統(tǒng)矩陣[n,m]=size(A);Qc=ctrb(A,B);%求出系統(tǒng)的可控性矩陣ifrank(Qc)==ndisp('系統(tǒng)是可控的。')disp('系統(tǒng)的可控性矩陣:')disp(Qc)pp=[-10,-2+2*sqrt(2)*j,-2-2*sqrt(2)*j];K=place(A,B,pp);%求出狀態(tài)反饋增益矩陣disp('狀態(tài)反饋增益矩陣:')disp(K)elsedisp('系統(tǒng)是不可控的。')endexam9_17_1的運行結(jié)果

9.1.5現(xiàn)代控制的MATLAB輔助設(shè)計簡介

9.1.5現(xiàn)代控制的MATLAB輔助設(shè)計簡介

(2)判別系統(tǒng)的可觀性并求出狀態(tài)觀測器增益矩陣L編寫M腳本文件exam9_17_2.m如下:%exam9_17_2Qb=obsv(A,C);ifrank(Qb)==ndisp('系統(tǒng)是可觀的。')disp('系統(tǒng)的可觀性矩陣:')disp(Qb)L=place(A',C',pp);%求出狀態(tài)觀測器增益矩陣disp('狀態(tài)觀測器增益矩陣(轉(zhuǎn)置):')disp(L)%計算狀態(tài)觀測器的系數(shù)矩陣AA=A-L'*CBB=[B,L']CC=eye(3)DD=zeros(3,2)elsedisp('系統(tǒng)是不可觀的。')endexam9_17_2的運行結(jié)果(分兩列顯示)

9.1.5現(xiàn)代控制的MATLAB輔助設(shè)計簡介系統(tǒng)是可觀的。系統(tǒng)的可觀性矩陣:

2.500000-2.50002.500002.5000-7.50002.5000狀態(tài)觀測器增益矩陣(轉(zhuǎn)置):3.20000.400025.2000AA=-9.00001.00000-1.0000-2.00001.0000-63.00000-3.0000BB=03.200000.40004.000025.2000CC=100010001DD=000000【說明】

AA,BB,CC和DD即分別為(9.15)式中的。

9.1.5現(xiàn)代控制的MATLAB輔助設(shè)計簡介

根據(jù)所得結(jié)果,構(gòu)造Simulink模型如圖9.19所示。圖9.19

啟動仿真后,得到如圖9.20所示仿真結(jié)果。

9.1.5現(xiàn)代控制的MATLAB輔助設(shè)計簡介圖9.20MATLAB在自動控制中的應(yīng)用

9.1.6拉普拉斯變換、Z變換及其逆變換拉普拉斯(Laplace)變換和Z變換是控制系統(tǒng)分析中最為常見的數(shù)學(xué)方法。通過拉普拉斯變換,不僅可以將時域函數(shù)轉(zhuǎn)換為象函數(shù)的形式,而且可以將微分方程(連續(xù)系統(tǒng))化為以s為變量的代數(shù)方程,從而方便求解。Z變換是拉普拉斯變換的離散模式,應(yīng)用于離散時間系統(tǒng)(差分方程)。

MATLAB的符號數(shù)學(xué)工具箱中提供了求取拉普拉斯變換和Z變換以及它們的逆變換函數(shù),可以直接用于完成以上運算。1.拉普拉斯變換及其逆變換

9.1.6拉普拉斯變換、Z變換及其逆變換

拉普拉斯變換和逆變換的定義為

(9.17) (9.18)拉普拉斯變換和逆變換可以使用函數(shù)laplace和ilaplace實現(xiàn)。它們最常用的調(diào)用格式為

F=laplace(f,t,s) 求時域函數(shù)f(t)的拉普拉斯變換

f=ilaplace(F,s,t) 求變換域函數(shù)F(s)的拉普拉斯逆變換【說明】

第1種格式的輸入宗量f為t的函數(shù);當(dāng)參數(shù)t省略時,默認(rèn)自由變量為't';輸出宗量F為s的函數(shù);當(dāng)參數(shù)s省略時,輸出宗量F默認(rèn)為's'的函數(shù)。第2種格式的輸入宗量F為s的函數(shù);當(dāng)參數(shù)s省略時,默認(rèn)自由變量為‘s’;輸出宗量f為t的函數(shù);當(dāng)參數(shù)t省略時,輸出宗量f默認(rèn)為‘t’的函數(shù)。

9.1.6拉普拉斯變換、Z變換及其逆變換

9.1.6拉普拉斯變換、Z變換及其逆變換【例9.18】求sin(at)和cos(at+b)的拉普拉斯變換。編寫M腳本文件exam9_18.m如下:%exam9_18clearsymsabstF1=laplace(sin(a*t),t,s)F2=laplace(cos(a*t+b),t,s)exam9_18的運行結(jié)果

9.1.6拉普拉斯變換、Z變換及其逆變換%exam9_19clearsymsstf1=ilaplace(1/(s-1),s,t)f2=ilaplace(1,s,t)exam9_19的運行結(jié)果【例9.19】求和1的拉普拉斯逆變換。

編寫M腳本文件exam9_19.m如下:【說明】

2.Z變換及其逆變換

9.1.6拉普拉斯變換、Z變換及其逆變換

一個離散信號的Z變換和Z逆變換的定義為

(9.19) (9.20)

9.1.6拉普拉斯變換、Z變換及其逆變換Z變換及其逆變換可以使用函數(shù)ztrans和iztrans實現(xiàn)。它們最常用的調(diào)用格式為

F=ztrans(f,n,z) 求時間序列f(n)的Z變換

f=iztrans(F,z,n) 求變換域函數(shù)F(z)的Z反變換【說明】

第1種格式的輸入宗量f為n的函數(shù);當(dāng)參數(shù)n省略時,默認(rèn)自由變量為‘n';輸出宗量F為z的函數(shù);當(dāng)參數(shù)z省略時,輸出宗量F默認(rèn)為‘z'的函數(shù)。第2種格式的輸入宗量F為z的函數(shù);當(dāng)參數(shù)z省略時,默認(rèn)自由變量為‘z’;輸出宗量f為n的函數(shù);當(dāng)參數(shù)n省略時,輸出宗量f默認(rèn)為‘n’的函數(shù)。

9.1.6拉普拉斯變換、Z變換及其逆變換%exam9_20clearsymsknzFz=ztrans(2^n,n,z) Gz=ztrans(sin(k*n),n,z)Hz=ztrans(cos(k*n),n,z)exam9_20的運行結(jié)果【例9.20】求,和的Z變換。編寫M腳本文件exam9_20.m如下:

9.1.6拉普拉斯變換、Z變換及其逆變換【例9.21】求的Z反變換。

編寫M腳本文件exam9_21.m如下:%exam9_21clearsymsnzfn=iztrans(10*z/(z-1)/(z-2),z,n)exam9_21的運行結(jié)果

MATLAB在工程中的應(yīng)用

cc

MATLAB中的所有變量都是數(shù)組。標(biāo)量被看成是(1×1)的數(shù)組,向量是(n×1)或(1×n)的數(shù)組,而矩陣則是(m×n)的數(shù)組。數(shù)組中的各個元素都可以是實數(shù)、復(fù)數(shù)或者任意形式的表達(dá)式。這些特點使得MATLAB具有強大的數(shù)組和復(fù)數(shù)處理功能,有利于處理電路分析中的各種問題,并且可以使得編程更簡便,運算效

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論