【正文】
: MATLAB的程序?yàn)椋? ? ? 0 0 1 0 0 0 0 5 10 0 5 0 01111uy? ??? ? ? ?? ? ? ? ?? ? ? ? ????? ? ? ??? ? ? ??? ? ? ????x = x +=x? % ? A1=[ 0 0。 。 ? B1=[1。1。C1=[1 1 1 1]。 ? T=。tustin39。 ? figure(1)。dstep(A,B,C,D),title(39。) ? subplot(2,2,2)。Discrete impulse response39。x0=[1。1。dinitial(A,B,C,D,x0) ? axis([0 6 ])。Discrete Initial Response39。[z,p,k]=ss2zp(A,B,C,D)。 ? title(39。) 0 5 10 15 20 2500 . 511 . 52D i s c r e t e s t e p r e s p o n s eT i m e ( s e c )Amplitude0 5 10 15 0 . 200 . 20 . 40 . 6D i s c r e t e i m p u l s e r e s p o n s eT i m e ( s e c )Amplitude0 2 4 6012D i s c r e t e I n i t i a l R e s p o n s eT i m e ( s e c )Amplitude1 0 . 5 0 0 . 5 1 0 . 2 0 . 100 . 10 . 2D i s c r e t e P o l e Z e r o M a pR e a l A x i sImaginary Axis圖 58 例 5- 11的曲線 ?6. 任意輸入函數(shù)的響應(yīng) ? 連續(xù)系統(tǒng)對(duì)任意輸入函數(shù)的響應(yīng)可利用 MATLAB的函數(shù) lsim( )求取 , 其調(diào)用格式為 ? [y,x]=lsim(num,den, u,t) ? 或 [y,x]=lsim(A,B,C,D,iu,u,t) ? 其中 u為給定輸入序列構(gòu)成的矩陣 , 它的每列對(duì)應(yīng)一個(gè)輸入 , 每行對(duì)應(yīng)一個(gè)新的時(shí)間點(diǎn) , 其行數(shù)與時(shí)間 t的長(zhǎng)度相等 。 ? 【 例 5- 12】 已知系統(tǒng) ? 試求周期為 4s的方波輸出響應(yīng)。den=[1 2 3]。period=4。 ? lsim(num,den,u,t)。Square Ware Response39。 222 5 1()23ssGsss?????0 1 2 3 4 5 6 7 8 9 102 1 . 51 0 . 500 . 511 . 522 . 5S q u a r e W a r e R e s p o n s eT i m e ( s e c )Amplitude圖 59 例 5- 12的輸出響應(yīng)曲線 ? 同樣,離散系統(tǒng)對(duì)任意輸入函數(shù)的響應(yīng),可利用 dlsim()函數(shù)求得,其基本調(diào)用格式為: ? [y,x]=dlsim(num,den,u,n) ? 或 [y,x]=dlsim(A,B,C,D,iu,u,t) ? 其中, n為取樣點(diǎn)數(shù)。 1的方波信號(hào)時(shí),系統(tǒng)的輸出響應(yīng)。den=[1 ]。 ? u=[u1 u1 u1]。Discrete System Simulation39。 0 50 100 150 200 250 300432101234D i s c r e t e S y s t e m S i m u l a t i o nT i m e ( s e c )Amplitude圖 510 例 5- 13的仿真結(jié)果 根軌跡法 ? 根軌跡是分析和設(shè)計(jì)線性定常系統(tǒng)的一種非常簡(jiǎn)便的圖解方法,特別適用于多回路系統(tǒng)的研究。一般地,將這一參數(shù)選作開(kāi)環(huán)系統(tǒng)的增益 K,而在無(wú)零極點(diǎn)對(duì)消時(shí),閉環(huán)系統(tǒng)特征方程的根就是閉環(huán)傳遞函數(shù)的極點(diǎn)。 函數(shù)名 說(shuō)明 pzmap() 繪制系統(tǒng)的零極點(diǎn)圖 rlocus() 繪制根軌跡 rlocfind() 求給定根的根軌跡增益 sgrid() 繪制連續(xù)系統(tǒng)的 網(wǎng)格根軌跡。 表 5- 2根軌跡函數(shù) ,n??,n??? ? pzmap( )函數(shù)可繪制系統(tǒng)的零極點(diǎn)圖 ,其調(diào)用格式為 ? [p,z]=pzmap(A,B,C,D) ? 或 [p,z]=pzmap(p,z), ? [p,z]=pzmap(num, den) ? 其中 , 列向量 p為系統(tǒng)極點(diǎn)位置 , 列向量z為系統(tǒng)的零點(diǎn)位置 。 當(dāng)帶有輸出變量時(shí) ,可得到零極點(diǎn)位置 , 如需要可通過(guò)pzmap(p,z)繪制出零極點(diǎn)圖 , 圖中的極點(diǎn)用 “ ”表示 , 零點(diǎn)用 “ o”表示 。 0)()(1 ?? sHsG0)( )(1 ?? sd en sn u mK+G ( s )H ( s )圖7 1 2圖 5- 11 ? rlocus函數(shù)既適用于連續(xù)系統(tǒng),也適用于離散系統(tǒng)。在不帶有輸出變量的引用函數(shù)時(shí), rlocus()可在當(dāng)前圖形窗口中繪制出系統(tǒng)的根軌跡圖。 ? 在系統(tǒng)分析過(guò)程中 , 常常希望確定根軌跡上某一點(diǎn)處的增益值 K, 這時(shí)可利用 MATLAB中的 rlocfind( )函數(shù) , 在使用此函數(shù)前要首先得到系統(tǒng)的根軌跡 , 然后再執(zhí)行如下命令 ? [K,poles]=rlocfind(num,den) ? 或 [K,poles]=rlocfind(A,B,C,D) ? 執(zhí)行上述命令后 , 將在屏幕上的圖形中生成一個(gè)十字光標(biāo) , 使用鼠標(biāo)移動(dòng)它至所希望的位置 , 然后敲擊鼠標(biāo)左鍵即可得到該極點(diǎn)的位置坐標(biāo)值 poles以及它所對(duì)應(yīng)的增益 K值 。 ? 解: MATLAB的程序?yàn)? ? % ? num=1。 ? rlocus(num,den), ? [K,poles]=rlocfind(num,den)。 ? sgrid()函數(shù)可在連續(xù)系統(tǒng)的根軌跡或零極點(diǎn)圖上繪制出柵格線,柵格線由等阻尼系數(shù)和等自然頻率線構(gòu)成,阻尼系數(shù) 的步長(zhǎng)為 ;自然頻率 的步長(zhǎng)為 范圍為 。 ? sgrid %在已有的圖形上繪制柵格線 ? sgrid(’ new’) %先清除圖形屏幕,然后繪制 ? 出柵格線,并設(shè)置成 hold on,使后 ? 續(xù)的繪圖命令能繪制在柵格上; ? sgrid( zeta,wn) %可指定阻尼系數(shù) 和自然頻率 ? 并且在繪制柵格線之前清除圖形窗口。n?()函數(shù)可在連續(xù)系統(tǒng)的根軌跡或零極點(diǎn)圖上繪制出柵格線,柵格線由等阻尼系數(shù)和等自然頻率線構(gòu)成,阻尼系數(shù) 的步長(zhǎng)為 ;自然頻率 的步長(zhǎng)為 范圍為 。在已有的圖形上繪制柵格線(’ ) 先清除圖形屏幕,然后繪制出柵格線,并設(shè)置成 使后續(xù)的繪圖命令能繪制在柵格上;( ) 可指定阻尼系數(shù) 和自然頻率并且在繪制柵格線之前清除圖形窗口。()函數(shù)有以下幾種調(diào)用格式。? 【 例 5- 15】 已知系統(tǒng)的開(kāi)環(huán)傳遞函數(shù)為: ? ,繪制根軌跡和柵格線。den=[1 2 3]。sgrid。 222 5 1()23ssGsss????? 2 . 5 2 1 . 5 1 0 . 5 0 1 . 51 0 . 500 . 511 . 50 . 1 40 . 2 80 . 4 20 . 5 60 . 70 . 8 20 . 9 10 . 9 7 50 . 1 40 . 2 80 . 4 20 . 5 60 . 70 . 8 20 . 9 10 . 9 7 50 . 511 . 522 . 5R o o t L o c u sR e a l A x i sImaginary Axis圖 5- 13根軌跡 控制系統(tǒng)的頻域分析 ? 頻域分析方法是應(yīng)用頻率特性研究控制系統(tǒng)的一種經(jīng)典方法。 ? ??()??? ()?? ?? ()??頻率響應(yīng)研究系統(tǒng)的頻率行為,從頻率響應(yīng)中可得帶寬、增益、轉(zhuǎn)折頻率和閉環(huán)系統(tǒng)穩(wěn)定性等系統(tǒng)特征。 函數(shù)名 功能 函數(shù)名 功能 logspace() 產(chǎn)生頻率向量 ngrid() 尼柯?tīng)査咕W(wǎng)格線 bode() 連續(xù)系統(tǒng)的伯德圖 sigma() 連續(xù)系統(tǒng)奇異值頻率圖 dbode() 離散系統(tǒng)的伯德圖 dsigma() 離散系統(tǒng)奇異值頻率圖 nyquist() 連續(xù)系統(tǒng)的奈奎斯特圖 freqresp() 求取頻率響應(yīng)值 dnyquist() 離散系統(tǒng)的奈奎斯特圖 evalfr() 求取單個(gè)復(fù)數(shù)頻率點(diǎn)處的頻率響應(yīng)值 nichols () 連續(xù)系統(tǒng)的尼柯?tīng)査骨€ margin() 求幅值裕量、相位裕量及對(duì)應(yīng)的轉(zhuǎn)折頻率 dnichols () 離散系統(tǒng)的尼柯?tīng)査骨€ 表 5- 3頻域響應(yīng)函數(shù) ?1. 產(chǎn)生頻率向量 ? 頻率向量可由 logspace( )函數(shù)來(lái)構(gòu)成 。 ( Bode圖) 設(shè)系統(tǒng)的開(kāi)環(huán)傳遞函數(shù)為: 10111...()...mmmnnnb s b s bGss a s a??? ? ??? ? ?則系統(tǒng)的頻率響應(yīng)為: 系統(tǒng)的伯德圖就是幅值 與相位 分別對(duì)角頻率 進(jìn)行繪圖。根據(jù)開(kāi)環(huán)的幅頻和相頻特性曲線,可求出幅值裕量和相位裕量。 ? bode(num,den) %可繪制出以傳遞函數(shù)G(s)=num(s)/den(s)表示的系統(tǒng) Bode圖。 ? bode(A,B,C,D,iu) %可得從系統(tǒng)第 iu個(gè)輸入到所有輸出的 Bode圖,其中頻率范圍由函數(shù)自動(dòng)選取,而且在響應(yīng)快速變化的位置會(huì)自動(dòng)采用更多取樣點(diǎn)。 ? bode函數(shù)本身可以通過(guò)輸入元素的個(gè)數(shù)來(lái)自動(dòng)地識(shí)別給出的是傳遞函數(shù)模型還是狀態(tài)方程模型。semilogx(w,20*log10(mag)) ? subplot(2,1,2)。 ? 如果只想繪制出系統(tǒng)的 Bode圖 , 而對(duì)獲得幅值和相位的具體數(shù)值并不感興趣 ,則可以采用如下簡(jiǎn)單的調(diào)用格式 ? bode(num,den,ω) ? bode(A,B,C,D,iu,ω) ? 或更簡(jiǎn)單地 ? bode(num,den) ? bode(A,B,C,D,iu) 例 516 已知二階系統(tǒng)的開(kāi)環(huán)傳遞函數(shù)為 繪制出當(dāng) a分別取 , Bode圖 。 MATLAB程序?yàn)? : 29()69Gs s a s? ?? % w=logspace(0,1)。 figure(1)。 for k=a den=[1,6*k, 9]。 hold on end grid。 hold off 執(zhí)行后得如圖 514所示 Bode圖 。 3 0 2 0 1 0010Magnitude (dB)100101 1 8 0 1 3 5 9 0 4 50Phase (deg)B o d e p l o tF r e q u e n c y (