




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、作者:王冠博專業(yè):自動化學校:大連海洋大學1.matlab簡介概述matlab是由美國mathworks公司推出的產(chǎn)品,1984年,cleve moler和john little成立了mathworks公司,在前期編寫的求解線性方程的fortran程序集的基礎上,編寫了接口程序,經(jīng)過不斷完善形成了matlab初始版本,1993年推出4.0版本,1997年推出5.0版本,2002年推出6.5版本。matlab是一種集數(shù)值計算、符號運算、可視化建模、仿真控制與圖形、圖像處理多功能于一體的軟件,是科技工作者、工程技術人員常用的工具。matlab輔以強大的工具箱,可應用于控制系統(tǒng)、信息處理、數(shù)據(jù)分析、
2、通信系統(tǒng)、數(shù)理科學、生物信息、圖形圖像處理等若干領域。matlab系統(tǒng)的窗口以及菜單簡介這里我們不介紹系統(tǒng)的安裝,只介紹一下系統(tǒng)的窗口和菜單。matlab系統(tǒng)啟動后,會自動展開主界面,如圖,如果啟動后不出現(xiàn)這種形式的界面,可以在主菜單view下拉菜單找到defaut菜單項,單擊后,恢復默認主界面窗口。主界面有三個子窗口,其中右邊的是command window(命令窗口),其作用是供系統(tǒng)程序執(zhí)行結果輸出以及用戶與系統(tǒng)交互簡單指令;左上子窗口有兩個選項卡:workspace是工作間,用于顯示工作間的文件名稱,另一個選項卡是顯示文件路徑;左下是顯示系統(tǒng)運行時的命令信息,即command histo
3、ry窗口所顯示的內(nèi)容。除此之外,還有重要的m文件編程窗口,在主菜單file下的子菜單new項,單擊彈出。m文件的種類及格式matlab的文件統(tǒng)稱m文件,分為文本文件、函數(shù)文件。文本文件程序是編寫完成一項特定任務的程序代碼;函數(shù)文件是為多次執(zhí)行某一任務而編制的函數(shù)子程序,可以重復調(diào)用。文本文件程序編好后保存文件名filename,系統(tǒng)自動添加”.m”作為擴展名,保存后可以使用編程窗口中的debug下來菜單中的run命令執(zhí)行該文件,執(zhí)行結果在command window中顯示出來。函數(shù)文件第一行必須以function開頭,保存文件名必須是函數(shù)名,系統(tǒng)自動添加”.m”作為其擴展名。下面是一個函數(shù)文件
4、的例子。function y=fun(x)y=x2+sin(x)保存文件名”fun”以后系統(tǒng)自動添加”.m”并顯示”fun.m”。上面function是關鍵字,y是輸出函數(shù),fun是文件名,x為輸入函數(shù)(變量),利用函數(shù)文件定義的函數(shù)和系統(tǒng)的庫函數(shù)一樣可以隨時調(diào)用。matalb的函數(shù)名可以是由字母、數(shù)字、下劃線構成的字符串。其中,必須以字母開頭,函數(shù)名不能是系統(tǒng)的關鍵字。幫助系統(tǒng)matlab提供了詳細的幫助系統(tǒng),通過主界面中help項的下拉菜單中的full product familyhelp菜單項,可以得到完整的幫助系統(tǒng)信息;另外也可以在command window下鍵入:help+所需幫助
5、的主題,回車后系統(tǒng)會在command window中彈出相應主題的幫助信息。2.matlab在控制系統(tǒng)中的應用用matlab建立傳遞函數(shù)模型有理函數(shù)模型線性系統(tǒng)的傳遞函數(shù)模型可一般地表示為:將系統(tǒng)的分子和分母多項式的系數(shù)按降冪的方式以向量的形式輸入給兩個變量和,就可以輕易地將傳遞函數(shù)模型輸入到matlab環(huán)境中。命令格式為:;在matlab控制系統(tǒng)工具箱中,定義了tf() 函數(shù),它可由傳遞函數(shù)分子分母給出的變量構造出單個的傳遞函數(shù)對象。從而使得系統(tǒng)模型的輸入和處理更加方便。該函數(shù)的調(diào)用格式為:gtf(num,den)例1一個簡單的傳遞函數(shù)模型:可以由下面的命令輸入到matlab工作空間中去。
6、num=1,5;den=1,2,3,4,5;g=tf(num,den)運行結果:transfer function: s + 5-s4 + 2 s3 + 3 s2 + 4 s + 5這時對象g可以用來描述給定的傳遞函數(shù)模型,作為其它函數(shù)調(diào)用的變量。例2一個稍微復雜一些的傳遞函數(shù)模型:可以由下面的命令輸入到matlab工作空間中去。 num=6*1,5;den=conv(conv(1,3,1,1,3,1),1,6);tf(num,den)運行結果:transfer function: 6 s + 30-s5 + 12 s4 + 47 s3 + 72 s2 + 37 s + 6其中conv()函數(shù)
7、(標準的matlab函數(shù))用來計算兩個向量的乘積,多項式乘法當然也可以用這個函數(shù)來計算。該函數(shù)允許任意地多層嵌套,從而表示復雜的計算。零極點模型線性系統(tǒng)的傳遞函數(shù)還可以寫成極點的形式:將系統(tǒng)增益、零點和極點以向量的形式輸入給三個變量、z和p,就可以將系統(tǒng)的零極點模型輸入到matlab工作空間中,命令格式為:在matlab控制工具箱中,定義了zpk()函數(shù),由它可通過以上三個matlab變量構造出零極點對象,用于簡單地表述零極點模型。該函數(shù)的調(diào)用格式為:g=zpk(z,p,kgain)例3某系統(tǒng)的零極點模型為:可以由下面的命令輸入到matlab工作空間中去。 kgain=6;z=-1.9294;
8、-0.0353+0.9287j;-0.0353-0.9287j;p=-0.9567+1.2272j;-0.9567-1.2272j;0.0433+0.6412j;0.0433-0.6412j;g=zpk(z,p,kgain)運行結果:zero/pole/gain: 6 (s+1.929) (s2 + 0.0706s + 0.8637)-(s2 - 0.0866s + 0.413) (s2 + 1.913s + 2.421)注意:對于單變量系統(tǒng),其零極點均是用列向量來表示的,故z、p向量中各項均用分號(;)隔開。反饋系統(tǒng)結構圖模型設反饋系統(tǒng)結構圖如圖所示:控制系統(tǒng)工具箱中提供了feedback(
9、)函數(shù),用來求取反饋連接下總的系統(tǒng)模型,該函數(shù)調(diào)用格式如下:g=feedback(g1,g2,sign);其中變量sign用來表示正反饋或負反饋結構,若sign=-1表示負反饋系統(tǒng)的模型,若省略sign變量,則仍將表示負反饋結構。g1和g2分別表示前向模型和反饋模型的lti(線性時不變)對象。例4若反饋系統(tǒng)中的兩個傳遞函數(shù)分別為:,則反饋系統(tǒng)的傳遞函數(shù)可由下列的matlab命令得出。 g1=tf(1,1,2,1);g2=tf(1,1,1);g=feedback(g1,g2)運行結果:transfer function: s + 1-s3 + 3 s2 + 3 s + 2若采用正反饋連接結構輸入
10、命令: g1=tf(1,1,2,1);g2=tf(1,1,1);g=feedback(g1,g2,1)則得出如下結果:transfer function: s + 1-s3 + 3 s2 + 3 s例5若反饋系統(tǒng)為更復雜的結構如圖所示。其中,則閉環(huán)系統(tǒng)的傳遞函數(shù)可以由下面的matlab命令得出: g1=tf(1,7,24,24,1,10,35,50,24);g2=tf(10,5,1,0);h=tf(1,0.01,1);g_a=feedback(g1*g2,h)得到結果:transfer function: 0.1 s5 + 10.75 s4 + 77.75 s3 + 278.6 s2 + 36
11、1.2 s + 120-0.01 s6 + 1.1 s5 + 20.35 s4 + 110.5 s3 + 325.2 s2 + 384 s + 120有理分式模型與零極點模型的轉換有了傳遞函數(shù)的有理分式模型之后,求取零極點模型就不是一件困難的事情了。在控制系統(tǒng)工具箱中,可以由zpk()函數(shù)立即將給定的lti對象g轉換成等效的零極點對象g1。該函數(shù)的調(diào)用格式為:g1=zpk(g)例6給定系統(tǒng)傳遞函數(shù)為:對應的零極點格式可由下面的命令得出 num=6.8, 61.2, 95.2;den=1, 7.5, 22, 19.5, 0;g=tf(num,den);g1=zpk(g)顯示結果:zero/pol
12、e/gain: 6.8 (s+7) (s+2)-s (s+1.5) (s2 + 6s + 13)可見,在系統(tǒng)的零極點模型中若出現(xiàn)復數(shù)值,則在顯示時將以二階因子的形式表示相應的共軛復數(shù)對。同樣,對于給定的零極點模型,也可以直接由matlab語句立即得出等效傳遞函數(shù)模型。調(diào)用格式為:g1=tf(g)例7給定零極點模型:可以用下面的matlab命令立即得出其等效的傳遞函數(shù)模型。輸入程序的過程中要注意大小寫。 z=-2,-7;p=0,-3-2j,-3+2j,-1.5;k=6.8;g=zpk(z,p,k);g1=tf(g)結果顯示:transfer function: 6.8 s2 + 61.2 s +
13、 95.2-s4 + 7.5 s3 + 22 s2 + 19.5 s利用matlab進行時域分析線性系統(tǒng)穩(wěn)定性分析線性系統(tǒng)穩(wěn)定的充要條件是系統(tǒng)的特征根均位于s平面的左半部分。系統(tǒng)的零極點模型可以直接被用來判斷系統(tǒng)的穩(wěn)定性。另外,matlab語言中提供了有關多項式的操作函數(shù),也可以用于系統(tǒng)的分析和計算。a.直接求特征多項式的根設p為特征多項式的系數(shù)向量,則matlab函數(shù)roots()可以直接求出方程p=0在復數(shù)范圍內(nèi)的解v,該函數(shù)的調(diào)用格式為:v=roots(p)例8已知系統(tǒng)的特征多項式為:特征方程的解可由下面的matlab命令得出。 p=1,0,3,2,1,1;v=roots(p)結果顯示:
14、v = 0.3202 + 1.7042i 0.3202 - 1.7042i -0.7209 0.0402 + 0.6780i 0.0402 - 0.6780i利用多項式求根函數(shù)roots(),可以很方便的求出系統(tǒng)的零點和極點,然后根據(jù)零極點分析系統(tǒng)穩(wěn)定性和其它性能。b.由根創(chuàng)建多項式如果已知多項式的因式分解式或特征根,可由matlab函數(shù)poly()直接得出特征多項式系數(shù)向量,其調(diào)用格式為:p=poly(v)如上例中:v=0.3202+1.7042i;0.3202-1.7042i; -0.7209;0.0402+0.6780i; 0.0402-0.6780i; p=poly(v)結果顯示:p
15、=1.0000 -0.0000 3.0000 2.0000 1.0000 1.0000由此可見,函數(shù)roots()與函數(shù)poly()是互為逆運算的。c.多項式求值在matlab 中通過函數(shù)polyval()可以求得多項式在給定點的值,該函數(shù)的調(diào)用格式為:polyval(p,v)對于上例中的p值,求取多項式在x點的值,可輸入如下命令: p=1,0,3,2,1,1;x=1polyval(p,x)結果顯示:x = 1ans = 8d.部分分式展開考慮下列傳遞函數(shù):式中,但是和中某些量可能為零。matlab函數(shù)可將展開成部分分式,直接求出展開式中的留數(shù)、極點和余項。該函數(shù)的調(diào)用格式為:則的部分分式展開
16、由下式給出:式中, ,為極點,, 為各極點的留數(shù),為余項。例9設傳遞函數(shù)為:該傳遞函數(shù)的部分分式展開由以下命令獲得: num=2,5,3,6; den=1,6,11,6;r,p,k=residue(num,den)命令窗口中顯示如下結果:r = -6.0000 -4.0000 3.0000p = -3.0000 -2.0000 -1.0000k = 2由此可得出部分分式展開式:該函數(shù)也可以逆向調(diào)用,把部分分式展開轉變回多項式之比的形式,命令格式為:num,den=residue(r,p,k)對上例有: num,den=residue(r,p,k)結果顯示num=2.0000 5.0000 3.
17、0000 6.0000den=1.0000 6.0000 11.0000 6.0000應當指出,如果p(j)=p(j+1)=p(j+m-1),則極點p(j)是一個m重極點。在這種情況下,部分分式展開式將包括下列諸項:例10設傳遞函數(shù)為:則部分分式展開由以下命令獲得: v=-1,-1,-1num=0,1,2,3;den=poly(v);r,p,k=residue(num,den)結果顯示:v = -1 -1 -1r = 1.0000 0.0000 2.0000p = -1.0000 -1.0000 -1.0000k = 其中由poly()命令將分母化為標準降冪排列多項式系數(shù)向量den, k=為空
18、矩陣。由上可得展開式為:e.由傳遞函數(shù)求零點和極點在matlab控制系統(tǒng)工具箱中,給出了由傳遞函數(shù)對象g求出系統(tǒng)零點和極點的函數(shù),其調(diào)用格式分別為:z=tzero(g)p=g.p1注意:式19中要求的g必須是零極點模型對象,且出現(xiàn)了矩陣的點運算“.”和大括號表示的矩陣元素.例11已知傳遞函數(shù)為:輸入如下命令: num=6.8,61.2,95.2;den=1,7.5,22,19.5,0;g=tf(num,den);g1=zpk(g);z=tzero(g)p=g1.p1結果顯示:z = -7.0000 -2.0000p = 0 -3.0000 + 2.0000i -3.0000 - 2.0000i
19、 -1.5000 f.零極點分布圖在matlab中,可利用pzmap()函數(shù)繪制連續(xù)系統(tǒng)的零、極點圖,從而分析系統(tǒng)的穩(wěn)定性,該函數(shù)調(diào)用格式為:pzmap(num,den)例12給定傳遞函數(shù):利用下列命令可自動打開一個圖形窗口,顯示該系統(tǒng)的零、極點分布圖. num=3,2,5,4,6;den=1,3,4,2,7,2;pzmap(num,den)title(pole-zero map)系統(tǒng)動態(tài)特性分析a.時域響應解析算法-部分分式展開法用拉氏變換法求系統(tǒng)的單位階躍響應,可直接得出輸出c(t)隨時間t變化的規(guī)律,對于高階系統(tǒng),輸出的拉氏變換象函數(shù)為:對函數(shù)c(s)進行部分分式展開,我們可以用num,
20、den,0來表示c(s)的分子和分母。例13給定系統(tǒng)的傳遞函數(shù):用以下命令對進行部分分式展開: num=1,7,24,24den=1,10,35,50,24r,p,k=residue(num,den,0)輸出結果為:num = 1 7 24 24den = 1 10 35 50 24r = -1.0000 2.0000 -1.0000 -1.0000 1.0000p = -4.0000 -3.0000 -2.0000 -1.0000 0k = 輸出函數(shù)c(s)為:拉氏變換得:b.單位階躍響應的求法控制系統(tǒng)工具箱中給出了一個函數(shù)step()來直接求取線性系統(tǒng)的階躍響應,如果已知傳遞函數(shù)為:則該函
21、數(shù)可有以下幾種調(diào)用格式:step(num,den) step(num,den,t)或 step(g)step(g,t) 該函數(shù)將繪制出系統(tǒng)在單位階躍輸入條件下的動態(tài)響應圖,同時給出穩(wěn)態(tài)值。對于式step(num,den,t)和step(g,t),t為圖像顯示的時間長度,是用戶指定的時間向量。式step(num,den)和step(g)的顯示時間由系統(tǒng)根據(jù)輸出曲線的形狀自行設定。如果需要將輸出結果返回到matlab工作空間中,則采用以下調(diào)用格式:c=step(g)此時,屏上不會顯示響應曲線,必須利用plot()命令去查看響應曲線。plot 可以根據(jù)兩個或多個給定的向量繪制二維圖形.例14已知傳遞
22、函數(shù)為:利用以下matlab命令可得階躍響應曲線: num=0,0,25;den=1,4,25;step(num,den)grid % 繪制網(wǎng)格線title(unit-step response of g(s)=25/(s2+4s+25)我們還可以用下面的語句來得出階躍響應曲線: g=tf(0,0,25,1,4,25);t=0:0.1:5;% 從0到5每隔0.1取一個值c=step(g,t);% 動態(tài)響應的幅值賦給變量cplot(t,c)% 繪二維圖形,橫坐標取t,縱坐標取ccss=dcgain(g)% 求取穩(wěn)態(tài)值在命令窗口中顯示了如下結果:css = 1c.求階躍響應的性能指標matlab提
23、供了強大的繪圖計算功能,可以用多種方法求取系統(tǒng)的動態(tài)響應指標。我們首先介紹一種最簡單的方法-游動鼠標法。在程序運行完畢后,用鼠標左鍵點擊時域響應圖線任意一點,系統(tǒng)會自動跳出一個小方框,小方框顯示了這一點的橫坐標(時間)和縱坐標(幅值)。按住鼠標左鍵在曲線上移動,可以找到曲線幅值最大的一點-即曲線最大峰值,此時小方框中顯示的時間就是此二階系統(tǒng)的峰值時間,根據(jù)觀察到的穩(wěn)態(tài)值和峰值可以計算出系統(tǒng)的超調(diào)量。系統(tǒng)的上升時間和穩(wěn)態(tài)響應時間可以依此類推。這種方法簡單易用,但同時應注意它不適用于用plot()命令畫出的圖形。另一種比較常用的方法就是用編程方式求取時域響應的各項性能指標。與上一段介紹的游動鼠標法
24、相比,編程方法稍微復雜。我們可以用階躍響應函數(shù)step( )獲得系統(tǒng)輸出量,若將輸出量返回到變量y中,可以調(diào)用如下格式:y,t=step(g)該函數(shù)還同時返回了自動生成的時間變量t,對返回的這一對變量y和t的值進行計算,可以得到時域性能指標。c1.峰值時間(timetopeak)可由以下命令獲得:y,k=max(y);timetopeak=t(k)應用取最大值函數(shù)max()求出y的峰值及相應的時間,并存于變量y和k中。然后在變量t中取出峰值時間,并將它賦給變量timetopeak。c2.最大(百分比)超調(diào)量(percentovershoot)可由以下命令得到:c=dcgain(g);y,k=m
25、ax(y);percentovershoot=100*(y-c)/cdcgain( )函數(shù)用于求取系統(tǒng)的終值,將終值賦給變量c,然后依據(jù)超調(diào)量的定義,由y和c計算出百分比超調(diào)量。c3.上升時間(risetime)可利用matlab中控制語句編制m文件來獲得。首先簡單介紹一下循環(huán)語句while的使用。while循環(huán)語句的一般格式為:while循環(huán)體end其中,循環(huán)判斷語句為某種形式的邏輯判斷表達式。當表達式的邏輯值為真時,就執(zhí)行循環(huán)體內(nèi)的語句;當表達式的邏輯值為假時,就退出當前的循環(huán)體。如果循環(huán)判斷語句為矩陣時,當且僅當所有的矩陣元素非零時,邏輯表達式的值為真。為避免循環(huán)語句陷入死循環(huán),在語句內(nèi)
26、必須有可以自動修改循環(huán)控制變量的命令。要求出上升時間,可以用while語句編寫以下程序得到:c=dcgain(g);n=1;while y(n)cn=n+1;endrisetime=t(n)在階躍輸入條件下,y 的值由零逐漸增大,當以上循環(huán)滿足y=c時,退出循環(huán),此時對應的時刻,即為上升時間。對于輸出無超調(diào)的系統(tǒng)響應,上升時間定義為輸出從穩(wěn)態(tài)值的10%上升到90%所需時間,則計算程序如下:c=dcgain(g);n=1;while y(n)0.1*cn=n+1;endm=1;while y(n)0.98*c)&(y(i) g=zpk( ,-1+3*i,-1-3*i ,3);% 計算最大峰值時間和它對應的超調(diào)量。c=dcgain(g)y,t=step(g);plot(t,y)gri
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)藥公司勞動合同范本
- 醫(yī)院收費合同范本
- 農(nóng)體產(chǎn)品加工合同范本
- 醫(yī)院制氧機采購合同范本
- 絲接頭采購合同范本
- 公司買賣合同范本
- 買賣小商鋪合同范本
- 企業(yè)房產(chǎn)轉讓合同范本
- 單位考察合同范本
- 信息化合同范本
- 2024-2030年中國干細胞美容產(chǎn)業(yè)競爭格局及投資戰(zhàn)略研究報告
- 《霉菌的形態(tài)和結構》課件
- 人群聚集或集會事故應急處理預案(5篇)
- 陜西省咸陽市2023-2024學年高一上學期期末考試 數(shù)學 含答案
- 《腦梗死護理常規(guī)》課件
- 貴州省2025年初中學業(yè)水平考試數(shù)學模擬訓練卷(五)
- 《大學生勞動教育》課件第一章 新時代大學生的勞動價值觀
- 期末試題-2024-2025學年人教PEP版英語六年級上冊 (含答案)
- 知識產(chǎn)權師招聘面試題及回答建議(某大型央企)
- 科技結合的小學種植園活動方案
- 2024小學語文課標培訓
評論
0/150
提交評論