自動(dòng)控制原理MATLAB仿真實(shí)驗(yàn)指導(dǎo)書(shū)2016_第1頁(yè)
自動(dòng)控制原理MATLAB仿真實(shí)驗(yàn)指導(dǎo)書(shū)2016_第2頁(yè)
自動(dòng)控制原理MATLAB仿真實(shí)驗(yàn)指導(dǎo)書(shū)2016_第3頁(yè)
自動(dòng)控制原理MATLAB仿真實(shí)驗(yàn)指導(dǎo)書(shū)2016_第4頁(yè)
自動(dòng)控制原理MATLAB仿真實(shí)驗(yàn)指導(dǎo)書(shū)2016_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

自動(dòng)控制原理MATLAB仿真實(shí)驗(yàn)指導(dǎo)書(shū)2016自動(dòng)控制原理MATLAB仿真實(shí)驗(yàn)指導(dǎo)書(shū)2016自動(dòng)控制原理MATLAB仿真實(shí)驗(yàn)指導(dǎo)書(shū)2016自動(dòng)控制原理MATLAB仿真實(shí)驗(yàn)指導(dǎo)書(shū)2016編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:目錄TOC\o"1-3"\h\u21292目錄 I75861.說(shuō)明 128286語(yǔ)言簡(jiǎn)介 224091MATLAB的應(yīng)用基礎(chǔ) 220453MATLAB函數(shù) 317175繪制響應(yīng)曲線 412416MATLAB語(yǔ)言的聯(lián)機(jī)幫助功能 628984語(yǔ)言基礎(chǔ)實(shí)驗(yàn) 714948實(shí)驗(yàn)一MATLAB語(yǔ)言平臺(tái) 72643實(shí)驗(yàn)二MATLAB數(shù)值運(yùn)算 1028641實(shí)驗(yàn)三MATLAB繪圖 1330744實(shí)驗(yàn)四MATLAB句柄繪圖 17189374.控制理論仿真實(shí)驗(yàn) 205430實(shí)驗(yàn)五控制系統(tǒng)的建模 2012176實(shí)驗(yàn)六控制系統(tǒng)的穩(wěn)定性分析實(shí)驗(yàn) 2628739實(shí)驗(yàn)七控制系統(tǒng)的時(shí)域分析實(shí)驗(yàn) 2813084實(shí)驗(yàn)八控制系統(tǒng)的根軌跡分析 3032554實(shí)驗(yàn)九控制系統(tǒng)的頻域分析 3113026實(shí)驗(yàn)十S函數(shù)的編寫(xiě)及應(yīng)用 3238415.實(shí)驗(yàn)作業(yè) 38MATLAB語(yǔ)言與控制系統(tǒng)仿真實(shí)驗(yàn)1.說(shuō)明《MATLAB語(yǔ)言與控制系統(tǒng)仿真實(shí)驗(yàn)指導(dǎo)書(shū)》包括四部分內(nèi)容:MATLAB語(yǔ)言基礎(chǔ)、MATLAB語(yǔ)言基礎(chǔ)實(shí)驗(yàn)、控制理論仿真實(shí)驗(yàn)和實(shí)驗(yàn)作業(yè)。要求每位學(xué)生完成規(guī)定的實(shí)驗(yàn)內(nèi)容后,獨(dú)立做完實(shí)驗(yàn)作業(yè),以鞏固知識(shí),增強(qiáng)應(yīng)用能力。本課程上機(jī)實(shí)驗(yàn)學(xué)時(shí)為8學(xué)時(shí),建議分配如下:實(shí)驗(yàn)內(nèi)容學(xué)時(shí)數(shù)實(shí)驗(yàn)一MATLAB語(yǔ)言平臺(tái)實(shí)驗(yàn)二MATLAB數(shù)值運(yùn)算實(shí)驗(yàn)三MATLAB繪圖實(shí)驗(yàn)五控制系統(tǒng)的建模1實(shí)驗(yàn)六控制系統(tǒng)的穩(wěn)定性分析實(shí)驗(yàn)2實(shí)驗(yàn)七控制系統(tǒng)的時(shí)域分析實(shí)驗(yàn)2實(shí)驗(yàn)八控制系統(tǒng)的根軌跡分析1實(shí)驗(yàn)九控制系統(tǒng)的頻域分析1上述學(xué)時(shí)僅為參考學(xué)時(shí),學(xué)生可根據(jù)自己對(duì)MATLAB的熟悉程度作適當(dāng)?shù)恼{(diào)整。

語(yǔ)言簡(jiǎn)介MATLAB是MathWorks公司于1982年推出的一套高性能的數(shù)值計(jì)算和可視化軟件,它集數(shù)值分析、矩陣運(yùn)算、信號(hào)處理和圖形顯示于一體,構(gòu)成了一個(gè)方便的、界面友好的用戶環(huán)境。MATLAB的推出得到了各個(gè)領(lǐng)域?qū)<覍W(xué)者的廣泛關(guān)注,其強(qiáng)大的擴(kuò)展功能為各個(gè)領(lǐng)域的應(yīng)用提供了基礎(chǔ),現(xiàn)已成為國(guó)際控制界應(yīng)用最廣的首選計(jì)算機(jī)工具。控制界的很多知名學(xué)者度為其擅長(zhǎng)的領(lǐng)域?qū)懗龉ぞ呦?,而其中很多工具箱已?jīng)成為該領(lǐng)域的標(biāo)準(zhǔn)。和其它的程序設(shè)計(jì)語(yǔ)言不同,MATLAB語(yǔ)言的基本變量單元是復(fù)數(shù)矩陣,其矩陣處理功能和圖形處理功能是其最顯著的特色,這里介紹一些簡(jiǎn)單實(shí)用的MATLAB命令及操作。MATLAB的應(yīng)用基礎(chǔ)1.如何應(yīng)用MATLAB通常以命令驅(qū)動(dòng)方式應(yīng)用MATLAB。當(dāng)輸入單個(gè)命令時(shí),MATLAB會(huì)立即對(duì)其進(jìn)行處理,并且顯示處理結(jié)果。MATLAB也能夠執(zhí)行存儲(chǔ)在文件中的命令序列。通過(guò)鍵盤(pán)輸入的命令,可以用上下箭頭鍵存取。2.MATLAB的變量MATLAB的一個(gè)特點(diǎn)是變量在應(yīng)用前不必確定維數(shù)。在MATLAB中,變量一旦被采用,會(huì)自動(dòng)產(chǎn)生(如果必要,變量的維數(shù)以后還可改變),并保留在存儲(chǔ)器中。為了得到工作空間內(nèi)的變量清單,可以通過(guò)鍵盤(pán)輸入命令who,當(dāng)前存放在工作空間內(nèi)的所有變量便會(huì)顯示在屏幕上。命令clear能從工作空間中清除所有非永久性變量。如果只需要從工作空間中清除某個(gè)特定變量,比如“x”,則應(yīng)輸入命令clearx。3.以“%”開(kāi)始的程序行在MATLAB中以“%”開(kāi)始的行表示注解和說(shuō)明,這些注解和說(shuō)明是不執(zhí)行的。如果注解和說(shuō)明需要一行以上程序行,則每一行均需以“%”為起始。4.分號(hào)操作符分號(hào)用來(lái)取消打?。@示)。如果語(yǔ)句的最后一個(gè)符號(hào)是分號(hào),則打印被取消,但是命令仍在執(zhí)行,而結(jié)果不再顯示。此外,在輸入矩陣時(shí),分號(hào)表示一行的結(jié)束。5.冒號(hào)操作符冒號(hào)操作符在MATLAB中起著重要作用。該操作符用來(lái)建立行向量,賦予矩陣下標(biāo)和規(guī)定疊代。例如:j:k表示[jj+1…k-1k],A(:,j)表示矩陣A的第j列。6.輸入超過(guò)一行的長(zhǎng)句如果輸入的語(yǔ)句太長(zhǎng),超出了一行,則在語(yǔ)句的末尾輸入3個(gè)小圓點(diǎn)(…),以表明語(yǔ)句將延續(xù)到下一行。7.在一行內(nèi)輸入數(shù)個(gè)語(yǔ)句如果語(yǔ)句之間用豆號(hào)或分號(hào)隔開(kāi),則可以把數(shù)個(gè)語(yǔ)句放在一行內(nèi)。例如:plot(1,3,'o'),text(1,20,'system1'),text(1,15,'system2')8.選擇輸出格式MATLAB中的所有計(jì)算都是以雙精度方式完成的,但是顯示輸出可以是具有4個(gè)小數(shù)位的定點(diǎn)輸出。例如,對(duì)于向量 x=[1/3,]MATLAB有下列輸出x=如果在矩陣中至少有一個(gè)元素不是嚴(yán)格的整數(shù),則有多種可能的輸出格式。顯示的輸出量可以用【File】菜單的【Preferences】命令設(shè)置,或用下列命令加以控制: formatshort () formatlong () formatshorte () formatlonge ()9.退出MATLAB時(shí)如何保存變量當(dāng)退出MATLAB時(shí),工作空間中的所有變量都將消失。如果在退出之前輸入命令save,則所有的變量都被保存在磁盤(pán)文件文件中。當(dāng)再次進(jìn)入MATLAB時(shí),命令load將使工作空間恢復(fù)到以前的狀態(tài)。如果要保存/恢復(fù)部分變量,可用如下命令: save文件名變量名(變量名之間用空格分割)/load文件名參見(jiàn)save命令的幫助文件。MATLAB函數(shù)在當(dāng)前的MATLAB及以上版本中,MATLAB函數(shù)的調(diào)用格式和其它編程語(yǔ)言是不同的,其典型的調(diào)用格式為[返回變量列表]=func_name(輸入變量列表)其中等號(hào)左邊的變量為返回變量,等號(hào)右邊的變量為輸入變量。MATLAB允許在函數(shù)調(diào)用時(shí)返回多個(gè)變量。而一個(gè)函數(shù)又可以由多種格式進(jìn)行調(diào)用,例如bode()函數(shù)可以由下面的格式調(diào)用[mag,phase]=bode(num,den,w)其中bode()函數(shù)用來(lái)求取或繪制系統(tǒng)的Bode圖,而系統(tǒng)在這里由傳遞函數(shù)分子num和分母den表示,還可以用下面的格式調(diào)用此函數(shù)[mag,phase]=bode(A,B,C,D,w)其中(A,B,C,D)為系統(tǒng)的狀態(tài)方程模型。盡管兩種調(diào)用格式是完全不同的,MATLAB函數(shù)還是會(huì)自動(dòng)識(shí)別到底是用哪種格式調(diào)用該函數(shù)的,從而得出正確的結(jié)論。在當(dāng)前版本的控制系統(tǒng)工具箱中還允許用線性模型對(duì)象變量G來(lái)描述系統(tǒng),例如[mag,phase]=bode(G,w)MATLAB函數(shù)在返回變量的格式上也可以不同,例如若上面的語(yǔ)句中若沒(méi)有返回變量,則將自動(dòng)地繪制系統(tǒng)的Bode圖,否則返回計(jì)算結(jié)果數(shù)據(jù)。繪制響應(yīng)曲線 MATLAB具有豐富的獲取圖形輸出的程序集。命令plot可以產(chǎn)生線性x-y圖形(用命令loglog、semilogx、semilogy或polar取代plot,可以產(chǎn)生對(duì)數(shù)坐標(biāo)圖和極坐標(biāo)圖)。所有這些命令的應(yīng)用方式都是相同的,它們只對(duì)坐標(biāo)軸的分度和數(shù)據(jù)的顯示產(chǎn)生影響。1. X-Y圖如果X和Y是同一長(zhǎng)度的向量,則命令 plot(X,Y)將畫(huà)出Y值對(duì)于X值的關(guān)系圖。2. 畫(huà)多條曲線為了在一幅圖上畫(huà)出多條曲線,采用具有多個(gè)自變量的plot命令: plot(X1,Y1,X2,Y2,…,Xn,Yn)變量X1,Y1,X2,Y2等等是一些向量對(duì)。每一個(gè)X-Y對(duì)都可以圖解表示出來(lái),因而在一幅圖上形成多條曲線。多重變量的優(yōu)點(diǎn)是它允許不同長(zhǎng)度的向量在同一幅圖上顯示出來(lái),每一對(duì)向量采用不同的線型。在一幅圖上畫(huà)一條以上的曲線時(shí),也可以利用命令hold。hold命令可以保持當(dāng)前的圖形,并且防止刪除和修改比例尺。因此,隨后的一條曲線將會(huì)重疊地畫(huà)在原曲線上。再次輸入命令hold,會(huì)使當(dāng)前的圖形復(fù)原。3. 加進(jìn)網(wǎng)格線、圖形標(biāo)題、X軸標(biāo)記和Y軸標(biāo)記一旦在屏幕上顯示出圖形,就可以畫(huà)出網(wǎng)格線,定出圖形標(biāo)題,并且標(biāo)定x軸標(biāo)記和y軸標(biāo)記。MATLAB中關(guān)于網(wǎng)格線、標(biāo)題、X軸標(biāo)記和Y軸標(biāo)記的命令如下: grid(網(wǎng)格線) title(圖形標(biāo)題) xlabel(X軸標(biāo)記) ylabel(Y軸標(biāo)記)4. 在圖形屏幕上書(shū)寫(xiě)文本為了在圖形屏幕上的點(diǎn)(x,y)書(shū)寫(xiě)文本,采用命令: text(x,y,'text')例如,利用語(yǔ)句 text(3,,'sint')將從點(diǎn)(3,開(kāi)始,水平地寫(xiě)出sint。5. 圖形類(lèi)型下列語(yǔ)句: plot(x,y,'x')將利用標(biāo)記符號(hào)×畫(huà)出一個(gè)點(diǎn)狀圖。MATLAB能夠提供的線和點(diǎn)的類(lèi)型如下:線的類(lèi)型點(diǎn)的類(lèi)型實(shí)線-圓點(diǎn).短劃線--加號(hào)+虛線:星號(hào)*點(diǎn)劃線-.圓圈o×號(hào)x6. 顏色下列語(yǔ)句: plot(X,Y,'+g')表明用綠色“+”號(hào)劃線。MATLAB提供的顏色如下:紅色r綠色g藍(lán)色b白色w無(wú)色i參見(jiàn)plot的幫助文件。7. 自動(dòng)繪圖算法在MATLAB中,圖形是自動(dòng)定標(biāo)的。在另一幅圖形畫(huà)出之前,這幅圖形作為現(xiàn)行圖將保持不變,但是在另一幅圖形畫(huà)出后,原圖形將被刪除,坐標(biāo)軸自動(dòng)地重新定標(biāo)。8. 手工坐標(biāo)定標(biāo)如果需要在下列語(yǔ)句指定的范圍內(nèi)繪制曲線: V=[x-minx-maxy-miny-max]則因輸入命令axis(V),式中V是一個(gè)四元向量。axis(V)把坐標(biāo)軸定在規(guī)定的范圍內(nèi)。MATLAB語(yǔ)言的聯(lián)機(jī)幫助功能下面的實(shí)驗(yàn)中,我們將較為詳細(xì)地學(xué)習(xí)使用MATLAB的語(yǔ)言基礎(chǔ)和控制系統(tǒng)仿真,但是MATLAB的內(nèi)容及其豐富,在學(xué)習(xí)和使用中,可以利用MATLAB的聯(lián)機(jī)幫助功能。MATLAB的聯(lián)機(jī)幫助既可以由help命令來(lái)直接獲得,又可以由MATLAB圖形界面下的Help菜單來(lái)查詢,還可以用lookfor命令查詢有關(guān)的關(guān)鍵詞: >>helpplot >>lookforplot

語(yǔ)言基礎(chǔ)實(shí)驗(yàn)實(shí)驗(yàn)一MATLAB語(yǔ)言平臺(tái)(隨堂實(shí)驗(yàn))一、實(shí)驗(yàn)?zāi)康?.學(xué)習(xí)了解MATLAB語(yǔ)言環(huán)境;2.練習(xí)MATLAB命令的基本操作;3.練習(xí)m文件的基本操作。二、實(shí)驗(yàn)內(nèi)容1.學(xué)習(xí)了解MATLAB語(yǔ)言環(huán)境(1)MATLAB語(yǔ)言操作界面開(kāi)機(jī)雙擊相應(yīng)圖標(biāo)即可進(jìn)入MATLAB命令窗口,如圖所示。在命令提示符位置鍵入命令,完成下述練習(xí)。圖 MATLAB窗口(2)練習(xí)DOS相似命令MATLAB語(yǔ)言與DOS操作系統(tǒng)有如下相似的命令,在操作界面上練習(xí)這些命令。dir dir('c:\windows')type typecd cdc:\matlab6p5\help(3)MATLAB的數(shù)據(jù)格式合法的數(shù)據(jù)格式有:short,long,hex,shorte,longe,rational等。鍵入 a=pi;b=exp(1)由File/Preferences…改變數(shù)據(jù)格式,觀察變量值。(4)變量查詢變量查詢命令有who,whos,查詢變量。(5)路徑函數(shù)與搜索路徑path 路徑函數(shù)which 文件定位路徑函數(shù)path列出MATLAB自動(dòng)搜索路徑清單,執(zhí)行該命令。path(path,'newpath')addpath('newpath')用于在搜索路徑清單中增加新的路徑項(xiàng),練習(xí)該命令?;蛴蒄ile/SetPath…設(shè)置路徑。說(shuō)明:在命令窗口鍵入一命令并按下回車(chē)鍵,MATLAB就在搜索路徑中搜索相應(yīng)的命令文件(內(nèi)部命令和函數(shù)除外),找到后就執(zhí)行該文件,若未找到,就給出錯(cuò)誤提示“File'xxxx'notfound.”。(6)聯(lián)機(jī)幫助鍵入helphelp閱讀help函數(shù)的使用說(shuō)明。鍵入help列出help項(xiàng)。查詢前面使用過(guò)的命令helpwhohelppath閱讀上述函數(shù)的功能、使用格式等。(7)字符串查詢鍵入helplookfor閱讀MATLAB函數(shù)lookfor的功能與使用方法,并使用該命令查詢相應(yīng)的關(guān)鍵詞字符串。(8)MATLAB語(yǔ)言演示鍵入demoMATLAB語(yǔ)言功能演示。2.練習(xí)MATLAB命令的基本操作(1)鍵入常數(shù)矩陣輸入命令a=[123]a=[1;2;3]比較顯示結(jié)果有何不同。b=[125]b=[125];比較顯示結(jié)果有何不同。(2)作循環(huán)命令程序 makesum=0; fori=1:1:100 makesum=makesum+i; end鍵入makesum,按回車(chē)鍵,觀察計(jì)算結(jié)果。(3)分別執(zhí)行下面命令: a=[123;456;780] poly(a) rank(a) det(a) trace(a) inv(a) eig(a)觀察顯示結(jié)果。使用聯(lián)機(jī)幫助help查閱相應(yīng)函數(shù)的意義和函數(shù)的格式。

實(shí)驗(yàn)二MATLAB數(shù)值運(yùn)算(隨堂實(shí)驗(yàn))一、實(shí)驗(yàn)?zāi)康?.學(xué)習(xí)MATLAB的基本矩陣運(yùn)算;2.學(xué)習(xí)MATLAB的點(diǎn)運(yùn)算。二、實(shí)驗(yàn)內(nèi)容在下面的實(shí)驗(yàn)操作中,認(rèn)真執(zhí)行每項(xiàng)操作,掌握其作用和目的。1.基本矩陣運(yùn)算(1)創(chuàng)建數(shù)值矩陣鍵入a=[123;456;789];觀察a(3,2)a(:,1)鍵入t=0:10;u=0::10;觀察向量t,u的值。鍵入a(:,3)=[2;3;4];a觀察矩陣a的變化。鍵入b=[11+2i;3+4i3];觀察復(fù)數(shù)矩陣。(2)特殊矩陣鍵入a=ones(3,3);b=zeros(2,2);c=eye(4);magic(4);觀察特殊矩陣。(3)矩陣運(yùn)算鍵入a=[010;001;-6-11-6];b=[12;34;56];c=[110;011];作矩陣乘運(yùn)算:v1=c*a;v2=a*b;v3=c*a*b;v4=b*c;v5=c*b;矩陣乘方運(yùn)算:a^2a^(1/2)矩陣加減運(yùn)算:a1=a+b*c;a2=c*b-a(1:2,1:2);a3=a(1:2,2:3)+c*b;矩陣右除(常規(guī)除):ar=a/b;矩陣左除:al=a\b注意矩陣運(yùn)算時(shí)的維數(shù)匹配。(4)矩陣特征完成如下矩陣特征運(yùn)算:a' inv(a) diag(a) tril(a) triu(a)poly(a) rank(a) det(a) trace(a) eig(a)的點(diǎn)運(yùn)算(1)練習(xí)點(diǎn)乘與點(diǎn)除a1=[12;34];a2=*a1;觀察[a1a2][a1.*a2a1./a2](點(diǎn)乘與點(diǎn)除是數(shù)組運(yùn)算)(2)正弦、余弦函數(shù)t=0:2*pi/180:2*pi;y1=sin(t);y2=cos(t);y=y1.*y2;plot(t,[y'y1'y2'](3)復(fù)變函數(shù)w=::2;g1=(1+*w*i)/*w*i)g2=(1+*w*i)./*w*i)plot(g2);xlabel('realg2(w)');ylabel('imageg2(w)')axis('square')3.多項(xiàng)式運(yùn)算(1)建立多項(xiàng)式向量ap=[1331]b=[-1-2-3]bp=poly(b)(2)多項(xiàng)式乘與根p=conv(ap,bp)root(p)(3)多項(xiàng)式運(yùn)算a=[1234];b=[1-1];c=a+[zeros(1,length(a)-length(b)),b]poly2str(c,'x')polyvalm(a,3)4.代數(shù)方程組(1)給定方程組 Ax=B xn×1,An×n,Bn×1方程組的解 x=A-1B or x=A\B方程為 這時(shí)不能用第一種方法,A-1只能用于方陣,這時(shí)可用廣義逆矩陣解: A=[123;234];B=[1;2]; x=pinv(A)*B x=

實(shí)驗(yàn)三MATLAB繪圖(隨堂實(shí)驗(yàn))一、實(shí)驗(yàn)?zāi)康?.學(xué)習(xí)MATLAB的各種二維繪圖;2.學(xué)習(xí)MATLAB的三維繪圖;3.學(xué)習(xí)MATLAB的繪圖修飾(多種繪圖,圖形注釋?zhuān)L圖顏色,色圖矩陣)。二、實(shí)驗(yàn)內(nèi)容在下面的實(shí)驗(yàn)操作中,認(rèn)真執(zhí)行每項(xiàng)操作,掌握其作用和目的,每個(gè)命令的含義和用法查看幫助文件。1.基本二維繪圖(1)向量繪圖x=0:2*pi/100:2*pi;y1=sin(2*x);y2=cos(2*x);plot(x,y1)plot(x,y2)plot(x,y1,x,y2)保持作圖:plot(x,y1);holdonplot(x,y2);holdoff矩陣作圖:plot(x',[y1'y2'])設(shè)定顏色與線型:plot(x,y1,'c:',x,y2,'ro')多窗口繪圖:figure(1);plot(x,y1)figure(2);plot(x,y2)子圖繪圖:subplot(221);plot(x,y1)subplot(222);plot(x,y2)subplot(223);plot(x,y1,x,y1+y2)subplot(224);plot(x,y2,x,y1-y2)復(fù)變函數(shù)繪圖:w=::10;g=1./(1+2*w*i);subplot(121);plot(g)subplot(122);plot(real(g),imag(g))插值繪圖:x=0:2*pi/8:2*pi;y=sin(x);plot(x,y,'o');holdon;xi=0:2*pi/100:2*pi;yi=spline(x,y,xi);plot(xi,yi,'m')反白繪圖與繪圖背景色設(shè)定:whitebgwhitebg('b')whitebg('k')(2)函數(shù)繪圖fplot('sin',[04*pi])f='sin(x)';fplot(f,[04*pi])fplot('sin(1/x)',[],1e-3)fplot('[tan(x),sin(x),cos(x)]',[-2*pi,2*pi,-2*pi,2*pi])(3)符號(hào)函數(shù)快捷繪圖:f='exp*x)*sin(x)'ezplot(f,[0,10])f='x^2+y^2-9'ezplot(f)axisequal2.多種二維繪圖(1)半對(duì)數(shù)繪圖(頻率特性繪圖)w=logspace(-1,1); 橫坐標(biāo)對(duì)數(shù)分度g=20*log10(1./(1+2*w*I)) 幅值縱坐標(biāo)取分貝p=angle(1./(1+2*w*I))*180/pi 相角縱坐標(biāo)取度subplot(211);semilogx(w,g);grid; 幅頻特性子圖,半對(duì)數(shù)繪圖,加網(wǎng)線subplot(212);semilogx(w,p);grid; 相頻特性子圖,半對(duì)數(shù)繪圖,加網(wǎng)線(2)極坐標(biāo)繪圖t=0:2*pi/180:2*pi;mo=cos(2*t);polar(t,mo);(3)直方圖繪圖t=0:2*pi/8:2*pi;y=sin(t);bar(t,y);(4)離散棒圖t=0:2*pi/8:2*pi;y=sin(t);stem(t,y);(5)階梯圖t=0:2*pi/8:2*pi;y=sin(t);stairs(t,y);(6)彗星繪圖t=-pi:pi/200:pi;comet(t,tan(sin(t))-sin(tan(t)));3.圖形注釋fplot('[sin(t),cos(t)]',[0,5]);title('曲線')xlabel('時(shí)間t');ylabel('幅值y');gtext('正弦函數(shù)');gtext('余項(xiàng)函數(shù)');grid4.三維繪圖(1)三維線圖t=0:pi/50:10*pi;plot3(sin(t),cos(t),t);comet3(sin(t),cos(t),t);(2)單變量高度網(wǎng)線圖Z2=[11;1–1];Z4=[Z2Z2;Z2–Z2];Z8=[Z4Z4;Z4–Z4];mesh(Z8)(3)3變量馬鞍面網(wǎng)線圖x=-4::4;y=x;[X,Y]=meshgrid(x,y);Z=X.^2-Y.^2;mesh(X,Y,Z)(4)圓錐面網(wǎng)線圖t1=0::;t2=0::2;r=[t1,-t2+2];[x,y,z]=cylinder(r,40);mesh(x,y,z)(5)視角修飾t1=0::;t2=0::2;r=[t1,-t2+2];[x,y,z]=cylinder(r,40);mesh(x,y,z)subplot(2,2,1);mesh(x,y,z);view(0,0);subplot(2,2,2);mesh(x,y,z);view(-20,20);subplot(2,2,3);mesh(x,y,z);view(-30,30);subplot(2,2,4);mesh(x,y,z);view(-40,40);(6)暖色(hot)色圖peaks(20);axis('off');colormap(hot);colorbar('horiz');(7)光照修飾surfl(peaks(20));colormap(gray);shadinginterp;(8)透視與消隱P=peaks(30);subplot(121);mesh(P);hiddenoff;subplot(122);mesh(P);hiddenon;

實(shí)驗(yàn)四MATLAB句柄繪圖(自學(xué))一、實(shí)驗(yàn)?zāi)康?.學(xué)習(xí)圖形對(duì)象(griphics)和句柄(handle)的基本知識(shí);2.學(xué)習(xí)圖形對(duì)象屬性(objectproperties)的獲得與設(shè)置;3.基本句柄繪圖(handlegriphics)操作;二、句柄繪圖的基本原理1.基本圖形對(duì)象根屏幕(Root)圖形窗口(Figure)界面控制(Uicontrol)界面菜單(Uimenu)軸(Axes)線(Line)塊(Patch)面(Surface)像(Image)字(Text)2.圖形對(duì)象創(chuàng)建函數(shù)h=figure(n); n為窗口號(hào)數(shù)h=uicontrol('property',value); 確定控制類(lèi)型h=uimenu('property',value); 確定菜單形式h=axes('position',[left,bottom,width,height]); 丁一周對(duì)象的位置與大小h=line(x,y,z) ; x,y用于二維畫(huà)線,x,y,z用于三維畫(huà)線h=patch(x,y,z,c); x,y,z定義多邊形,c確定填充顏色h=surface(x,y,z,c); x,y,z確定三維曲面,c為顏色矩陣h=image(x); x為圖像數(shù)據(jù)矩陣h=text(x,y,'string'); x,y確定標(biāo)注位置,'string'為標(biāo)注字符串圖形對(duì)象創(chuàng)建函數(shù)均為底層函數(shù),注意變量格式。3.圖形對(duì)象的句柄句柄(handle)是圖形對(duì)象的標(biāo)識(shí)代碼,圖形對(duì)象的屬性信息全部包含在句柄中。各圖形對(duì)象句柄的數(shù)據(jù)格式為:對(duì)象名稱(chēng) 句柄數(shù)據(jù)格式根屏幕 0圖形窗口 整數(shù),表示窗口號(hào)數(shù),如1號(hào)窗口、2號(hào)窗口等其它各對(duì)象 對(duì)應(yīng)的浮點(diǎn)數(shù)4.句柄屬性的設(shè)置與修改句柄代碼含有該對(duì)象的屬性信息,因此需要通過(guò)句柄中屬性的設(shè)置與修改處理對(duì)象屬性的變更。MATLAB設(shè)置了下面兩個(gè)函數(shù)完成此任務(wù):get(H) 獲得該對(duì)象句柄的全部屬性get(H,’PropertyName’) 獲得該對(duì)象句柄的某屬性set(H) 查閱該對(duì)象句柄的全部可設(shè)定值set(H,’PropertyName’,PropertyValue) 將該對(duì)象句柄的某屬性設(shè)置為新值三、實(shí)驗(yàn)內(nèi)容1.作直線,并將線的顏色改為紅色h1=line([0:10],[0:10]) %創(chuàng)建線對(duì)象,返回句柄值h1set(h1,’color’,[100]) %將線的顏色改為紅色hf=gcf %獲得當(dāng)前1號(hào)窗口的句柄值ha=gca %獲得當(dāng)前“軸”的句柄值set(h1,’Color’,[***]) %將“線”句柄設(shè)為色序的其他顏色2.在創(chuàng)建對(duì)象時(shí)設(shè)置對(duì)象屬性(1)二維繪圖x=0:pi/24:2*pi%ax=axes(‘box’,’on’’aspectratio’,[1nan]) %設(shè)置軸對(duì)象屬性hl1=line(sin(x),cos(x),’linewidth’,5,’linestyle’,’-‘,’color’,’c’) %設(shè)置軸線象屬性hl1=line(sin(20*x),cos(20*x),’linestyle’,’:‘,’color’,’r’)(2)三維繪圖[x,y,z]=sphere(30)hs=surf(x,y,z,’facecolor’,’c’,’linewidth’,1,’edgecolor’,’k’) %設(shè)置面線象屬性3.簡(jiǎn)單動(dòng)畫(huà)制作%正弦曲線運(yùn)動(dòng)動(dòng)畫(huà)t=0:pi/48:4*pi;y=sin(t);plot(t,y,’g’);%由線對(duì)象創(chuàng)建小球%定義色、型、點(diǎn)的大小、擦除方式n=length(t);h=line(‘color’,[101],’linestyle’,’.’,’markersize’,50,’erasemode’,’xor’);i=1;r=0;whiler<10 %循環(huán)10次 set(h,’xdata’,t(i),’ydata’,y(i)); %小球位置 drawnow; i=i+1; ifi>n; i=1; r=r+1; end;end4.執(zhí)行下列程序,閱讀程序清單,了解程序編制過(guò)程:modes 12個(gè)特征峰面函數(shù)xpquad 超級(jí)方塊spinner 虛幻線

4.控制理論仿真實(shí)驗(yàn)實(shí)驗(yàn)五控制系統(tǒng)的建模一、實(shí)驗(yàn)?zāi)康?.學(xué)習(xí)在MATLAB命令窗口建立系統(tǒng)模型的方法;2.學(xué)習(xí)如何在三種模型之間相互轉(zhuǎn)換;3.學(xué)習(xí)如何用SIMULINK仿真工具建模。二、相關(guān)知識(shí)1.傳遞函數(shù)模型設(shè)連續(xù)系統(tǒng)的傳遞函數(shù)為: 設(shè)離散系統(tǒng)的傳遞函數(shù)為: 則在MATLAB中,都可直接用分子/分母多項(xiàng)式系數(shù)構(gòu)成的兩個(gè)向量num與den構(gòu)成的矢量組[num,den]表示系統(tǒng),即 num= den=建立控制系統(tǒng)的傳遞函數(shù)模型(對(duì)象)的函數(shù)為tf(),調(diào)用格式為:sys=tf(num,den)sys=tf(num,den,Ts)sys=tf(othersys)sys=tf(num,den)返回的變量sys為連續(xù)系統(tǒng)的傳遞函數(shù)模型。sys=tf(num,den,Ts)返回的變量sys為離散系統(tǒng)的傳遞函數(shù)模型,Ts為采樣周期,當(dāng)Ts=-1或Ts=[]時(shí),系統(tǒng)的采樣周期未定義。sys=tf(othersys)將任意的控制系統(tǒng)對(duì)象轉(zhuǎn)換成傳遞函數(shù)模型。離散系統(tǒng)的傳遞函數(shù)的表達(dá)式還有一種表示為的形式(即DSP形式),轉(zhuǎn)換為DSP形式的函數(shù)命令為filt(),調(diào)用格式為:sys=filt(num,den)sys=filt(num,den,Ts)sys=filt(num,den)函數(shù)用來(lái)建立一個(gè)采樣時(shí)間未指定的DSP形式傳遞函數(shù)。sys=filt(num,den,Ts)函數(shù)用來(lái)建立一個(gè)采樣時(shí)間為T(mén)s的DSP形式傳遞函數(shù)。2.零極點(diǎn)增益模型設(shè)連續(xù)系統(tǒng)的零極點(diǎn)增益模型傳遞函數(shù)為: 設(shè)離散系統(tǒng)的零極點(diǎn)增益模型傳遞函數(shù)為: 則在MATLAB中,都可直接用向量z,p,k構(gòu)成的矢量組[z,p,k]表示系統(tǒng),即 z= p= k=在MATLAB中,用函數(shù)zpk()來(lái)建立控制系統(tǒng)的零極點(diǎn)增益模型,調(diào)用格式為:sys=zpk(z,p,k)sys=zpk(z,p,k,Ts)sys=zpk(othersys)sys=zpk(z,p,k)返回的變量sys為連續(xù)系統(tǒng)的零極點(diǎn)增益模型。sys=zpk(z,p,k,Ts)返回的變量sys為離散系統(tǒng)的零極點(diǎn)增益模型,Ts含義同前。sys=zpk(othersys)將任意的控制系統(tǒng)對(duì)象轉(zhuǎn)換成零極點(diǎn)增益模型模型。3.狀態(tài)空間模型設(shè)連續(xù)系統(tǒng)的狀態(tài)空間模型為: 設(shè)離散系統(tǒng)的狀態(tài)空間模型為: 在MATLAB中,連續(xù)與離散系統(tǒng)都可直接用矩陣組[A,B,C,D]表示系統(tǒng)。在MATLAB中,用函數(shù)ss()來(lái)建立系統(tǒng)的狀態(tài)空間模型,調(diào)用格式為:sys=ss(a,b,c,d)sys=ss(a,b,c,d,Ts)sys=ss(othersys)將任意的控制系統(tǒng)對(duì)象轉(zhuǎn)換成狀態(tài)空間模型。sys=ss(a,b,c,d)返回的變量sys為連續(xù)系統(tǒng)的狀態(tài)空間模型。sys=ss(a,b,c,d,Ts)返回的變量sys為離散系統(tǒng)的狀態(tài)空間模型,Ts含義同前。4.三種系統(tǒng)數(shù)學(xué)模型之間的轉(zhuǎn)換解決實(shí)際問(wèn)題時(shí),常常需要對(duì)自控系統(tǒng)的數(shù)學(xué)模型進(jìn)行轉(zhuǎn)換,MATLAB提供了用于轉(zhuǎn)換的函數(shù),如下表所示:函數(shù)名函數(shù)功能ss2tf將系統(tǒng)狀態(tài)空間模型轉(zhuǎn)換為傳遞函數(shù)模型ss2zp`將系統(tǒng)狀態(tài)空間模型轉(zhuǎn)換為零極點(diǎn)增益模型tf2ss將系統(tǒng)傳遞函數(shù)模型轉(zhuǎn)換為狀態(tài)空間模型tf2zp將系統(tǒng)傳遞函數(shù)轉(zhuǎn)換為零極點(diǎn)增益模型zp2ss將系統(tǒng)零極點(diǎn)增益模型轉(zhuǎn)換為狀態(tài)空間模型zp2tf將系統(tǒng)零極點(diǎn)增益模型轉(zhuǎn)換為傳遞函數(shù)模型5.環(huán)節(jié)方框圖的化簡(jiǎn)G1G1(s)G2(s)對(duì)于上圖的兩個(gè)環(huán)節(jié)串聯(lián),它們的傳遞函數(shù)分別為:,則兩個(gè)環(huán)節(jié)串聯(lián)連階的等效傳遞函數(shù)為 在MATLAB中,實(shí)現(xiàn)兩個(gè)環(huán)節(jié)傳遞函數(shù)串聯(lián)連接的運(yùn)算為:sys1=tf(num1,den1)sys2=tf(num2,den2)sys=sys1*sys22.環(huán)節(jié)并聯(lián)連接的化簡(jiǎn) G1(s)+ G2(s)實(shí)現(xiàn)兩個(gè)環(huán)節(jié)傳遞函數(shù)串聯(lián)連接的運(yùn)算為:sys=sys1+sys23.反饋環(huán)節(jié)的化簡(jiǎn)G1(S)G1(S)G2(S)-實(shí)現(xiàn)反饋環(huán)節(jié)化簡(jiǎn)的運(yùn)算為:sys=feedback(sys1,sys2,sign)式中sign為反饋符號(hào),‘+’表示正反饋,‘-’為負(fù)反饋。缺省為‘-’。6.用SIMULINK仿真工具建模MATLAB集成有SIMULINK工具箱,為用戶提供了用方框圖進(jìn)行系統(tǒng)建模的圖形窗口。1.建立新的結(jié)構(gòu)圖文件在matlab環(huán)境下,點(diǎn)擊simulink圖標(biāo),或輸入命令simulink,啟動(dòng)simulink程序,出現(xiàn)Simulink模塊庫(kù),如圖所示。 圖窗口點(diǎn)擊或選擇“File”菜單中的“New”選項(xiàng)下的子選項(xiàng)“Model”,出現(xiàn)“untitled”空白文檔。2.打開(kāi)結(jié)構(gòu)圖模塊組在SimulinkLibraryBrowser中,點(diǎn)擊simulink邊上的“+”就有下列模塊組:Sources (輸入信號(hào)單元模塊組)Sinks (數(shù)據(jù)輸出單元模塊組)Contionuous (線性單元模塊組)Discrete (離散單元模塊組)……用鼠標(biāo)單擊任何一個(gè)模塊組的圖標(biāo),即可打開(kāi)該模塊組,從中選擇仿真實(shí)驗(yàn)所需的單元模塊。3.建立用戶的仿真結(jié)構(gòu)圖將所需的結(jié)構(gòu)圖模塊用鼠標(biāo)拖到新建立的結(jié)構(gòu)圖文件的空白處,依次完成仿真結(jié)構(gòu)圖。用鼠標(biāo)作結(jié)構(gòu)圖單元之間的連線,按結(jié)構(gòu)圖模塊的信號(hào)連接關(guān)系,完成仿真試驗(yàn)的結(jié)構(gòu)圖。1)連線方法:一般是選中一個(gè)輸出口,按下鼠標(biāo)左鍵拖動(dòng)至另一個(gè)模塊的輸入口,快捷的方法是先單擊選中源模塊,按下Ctrl鍵,再單擊目標(biāo)模塊。畫(huà)信號(hào)的分支線,用鼠標(biāo)右鍵單擊信號(hào)線并拖動(dòng)。2)模塊的旋轉(zhuǎn)和翻轉(zhuǎn):選中模塊,右擊鼠標(biāo),打開(kāi)Format子菜單,選擇FlipBlock、RotateBlock、FlipName等完成響應(yīng)的功能。4.結(jié)構(gòu)圖單元參數(shù)設(shè)置用鼠標(biāo)器雙擊任何一個(gè)結(jié)構(gòu)圖單元即激活結(jié)構(gòu)圖單元的參數(shù)設(shè)置窗口。5.仿真參數(shù)設(shè)置選擇“simulink”菜單項(xiàng)中的“Simulinkparameters”,即出現(xiàn)仿真參數(shù)設(shè)置子窗口,用于設(shè)置仿真參數(shù),例如,仿真起始時(shí)間,仿真終止時(shí)間,仿真布長(zhǎng),允許誤差,返回變量名稱(chēng)等。6.仿真操作選中“simulink”中的“Start”啟動(dòng)系統(tǒng)的仿真。在系統(tǒng)仿真中如顯示器不能很好地展現(xiàn)波形,可以隨時(shí)修改顯示器的定標(biāo),達(dá)到滿意為止。二、實(shí)驗(yàn)內(nèi)容1.練習(xí)上面介紹的各種函數(shù)和命令2.給定控制系統(tǒng)的傳遞函數(shù)為 在MATLAB中建立該系統(tǒng)的傳遞函數(shù)模型、零極點(diǎn)增益模型和狀態(tài)變量模型。3.在SIMULINK中建立如下圖所示的結(jié)構(gòu)圖:設(shè)置SIMULINK仿真參數(shù),觀察示波器的波形。換用其它輸入信號(hào),觀察示波器的波形。用命令方式求出上圖的閉環(huán)傳遞函數(shù)。

實(shí)驗(yàn)六控制系統(tǒng)的穩(wěn)定性分析實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?.學(xué)習(xí)控制系統(tǒng)穩(wěn)定性分析的MATLAB實(shí)現(xiàn);2.掌握控制系統(tǒng)的穩(wěn)定判據(jù);二、相關(guān)知識(shí)1.控制系統(tǒng)的特征多項(xiàng)式與特征方程;控制系統(tǒng)的傳遞函數(shù)為:線性系統(tǒng)的特征方程為:2.控制系統(tǒng)的穩(wěn)定性判據(jù)穩(wěn)定判據(jù)的方法有:代數(shù)穩(wěn)定判據(jù),根軌跡法,Bode圖法判定系統(tǒng)的穩(wěn)定性等等。3.有關(guān)的MATLAB函數(shù)roots(P):是求多項(xiàng)式根函數(shù)。P為特征多項(xiàng)式降冪排列的系數(shù)向量。rlocus(num,den,k):作系統(tǒng)的根軌跡函數(shù),無(wú)開(kāi)環(huán)增益k,則k的范圍自動(dòng)設(shè)定,有k,則k的范圍可以由人工給定。[k,poles]=rlocfind(num,den),執(zhí)行該命令前,先作根軌跡圖,會(huì)出現(xiàn)提示,要求在根軌跡上選一點(diǎn),會(huì)出現(xiàn)“+”標(biāo)記。在MATLAB命令窗口會(huì)有k和poles的值。[Gm,Pm,Wcp,Wcg]=margin(sys0):在命令窗口得到系統(tǒng)sys0的頻域性能指標(biāo);margin(sys0):MATLAB繪制系統(tǒng)的伯德圖,計(jì)算伯德圖上的穩(wěn)定裕度,并將計(jì)算結(jié)果表示在圖的上方。bode(sys0):MATLAB繪制系統(tǒng)的伯德圖,但無(wú)系統(tǒng)的分析結(jié)果。文件和函數(shù)m文件是使用MATLAB語(yǔ)言編寫(xiě)的程序代碼文件。之所以稱(chēng)為m文件,是因?yàn)檫@種文件都是以“.m”作為文件的擴(kuò)展名。我們可以通過(guò)任何文本編輯器來(lái)生成或編輯m文件,但是在MATLAB提供的編輯器里生成或編輯m文件最為簡(jiǎn)單、方便且高效。m文件可以分為兩種類(lèi)型,一種是腳本(或稱(chēng)命令)文件,另一種是函數(shù)文件。腳本文件類(lèi)似于C語(yǔ)言的過(guò)程,就是將一系列命令寫(xiě)在一個(gè)文件中,它的書(shū)寫(xiě)方法與命令行執(zhí)行程序的方式相同。函數(shù)也是以“.m”作為文件的擴(kuò)展名。不同于m文件,函數(shù)帶有輸入輸出參數(shù),書(shū)寫(xiě)格式為function[返回變量列表]=函數(shù)名(輸入變量列表)function[返回變量列表]=函數(shù)名(輸入變量列表)%注釋行主程序體其中function為函數(shù)的保留字,函數(shù)名也要符合變量的命名規(guī)則,保存函數(shù)文件時(shí),文件名應(yīng)與函數(shù)名同名。注釋行是對(duì)函數(shù)的功能、調(diào)用格式和參數(shù)的說(shuō)明。三、實(shí)驗(yàn)內(nèi)容及要求1.已知系統(tǒng)的開(kāi)環(huán)傳遞函數(shù):用求根的方法來(lái)判別閉環(huán)系統(tǒng)的穩(wěn)定性。編寫(xiě)程序,求特征多項(xiàng)式及其根(不能手工計(jì)算),判斷系統(tǒng)的穩(wěn)定性。2.已知一個(gè)單位負(fù)反饋開(kāi)環(huán)傳遞函數(shù)G(S),當(dāng)k分別為1、5、10、20時(shí)閉環(huán)系統(tǒng)的穩(wěn)定性。 以k為輸入?yún)?shù),編寫(xiě)函數(shù),畫(huà)出上述k值對(duì)應(yīng)的閉環(huán)根,并判斷系統(tǒng)的穩(wěn)定性。3.已知單位負(fù)反饋系統(tǒng)的傳遞函數(shù)為 用Bode圖法判斷系統(tǒng)閉環(huán)的穩(wěn)定性。編寫(xiě)程序,并運(yùn)行程序,得出相關(guān)的數(shù)據(jù)。

實(shí)驗(yàn)七控制系統(tǒng)的時(shí)域分析實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?.學(xué)習(xí)控制系統(tǒng)時(shí)域分析的MATLAB實(shí)現(xiàn)。2.掌握控制系統(tǒng)的時(shí)域響應(yīng)及性能指標(biāo)。二、相關(guān)知識(shí)有關(guān)的MATLAB函數(shù):damp(den)step(sys)[y,t,x]=step(sys)impulse(sys)[y,t,x]=impulse(sys)initial(sys,x0)[y,t,x]=initial(sys,x0)lsim(sys,u,t)[y,t]=lsim(sys,u,t) 對(duì)于離散系統(tǒng),相應(yīng)的命令分別是dstep、dimpulse、dinitial、dlsim。三、實(shí)驗(yàn)內(nèi)容及要求1、利用help命令學(xué)習(xí)上述函數(shù)命令的用法,自行練習(xí)。2、已知一階系統(tǒng)傳遞函數(shù)為 輸入為正弦信號(hào),求輸出。編寫(xiě)程序,將輸入和響應(yīng)曲線畫(huà)于同一圖上。3、已知二階系統(tǒng)傳遞函數(shù)為 當(dāng)=1時(shí),試計(jì)算當(dāng)阻尼比值從到1時(shí)二階系統(tǒng)的階躍響應(yīng)。編寫(xiě)程序,將響應(yīng)曲線畫(huà)于同一圖上,并加上標(biāo)注。4、二階系統(tǒng)為編寫(xiě)程序,求系統(tǒng)的根、阻尼比、無(wú)阻尼震蕩頻率和響應(yīng)曲線,計(jì)算(注意不是從響應(yīng)圖上讀出)出峰值、峰值時(shí)間和過(guò)渡時(shí)間,并與理論公式計(jì)算值比較。實(shí)際值理論值峰值峰值時(shí)間過(guò)渡時(shí)間±5%±2%5、編寫(xiě)函數(shù),輸入?yún)?shù)為對(duì)象模型sys,求該對(duì)象模型的單位斜坡輸入響應(yīng),將輸入和輸出曲線畫(huà)于同一圖上。(提示:sys的分子多項(xiàng)式為{1},分母多項(xiàng)式為{1}。)

實(shí)驗(yàn)八控制系統(tǒng)的根軌跡分析一、實(shí)驗(yàn)?zāi)康?、學(xué)習(xí)控制系統(tǒng)根軌跡分析的MATLAB實(shí)現(xiàn)。2、利用根軌跡進(jìn)行系統(tǒng)分析。二、相關(guān)知識(shí)有關(guān)的MATLAB函數(shù):pzmap(sys);rlocus(sys);[r,k]=rlocus(sys);rlocfind(sys);[k,r]=rlocfind(sys)注意:沒(méi)有離散系統(tǒng)對(duì)應(yīng)的命令“drlocus”三、實(shí)驗(yàn)內(nèi)容及要求1、利用在線幫助學(xué)習(xí)上述函數(shù)命令的用法,自行練習(xí)。2、已知系統(tǒng)的開(kāi)環(huán)傳遞函數(shù)為 試確定使系統(tǒng)穩(wěn)定的k值范圍。(提示:為了使坐標(biāo)點(diǎn)定位準(zhǔn)確,可用axis命令將圖局部放大)3、上題中,確定使系統(tǒng)阻尼比為的k值和這時(shí)的閉環(huán)特征根。(注意:不能用目測(cè)定位。)

實(shí)驗(yàn)九控制系統(tǒng)的頻域分析一、實(shí)驗(yàn)?zāi)康?、學(xué)習(xí)控制系統(tǒng)頻域分析的MATLAB實(shí)現(xiàn)。2、利用頻率響應(yīng)進(jìn)行系統(tǒng)分析。二、相關(guān)知識(shí)有關(guān)的MATLAB函數(shù):Bode(G);[m,p,w]=bode(G);Margin(G);[Gm,Pm,Wg,Wp]=margin(G);Nyquist(G);[re,im,w]=nyquist(G);對(duì)于離散系統(tǒng),相應(yīng)的命令分別是dbode、dnyquist,沒(méi)有“dmargin”命令,要利用margin命令,先用[m,p,w]=dbode(G),再用margin(m,p,w)命令。三、實(shí)驗(yàn)內(nèi)容及要求1、利用在線幫助學(xué)習(xí)上述函數(shù)命令的用法,自行練習(xí)。2、一單位負(fù)反饋系統(tǒng) 畫(huà)出其bode圖,求其幅值裕量和相位裕量,判斷其穩(wěn)定性和動(dòng)態(tài)性能,用nyquist圖分析,是否與前述分析相符。若開(kāi)環(huán)增益放大倍,又怎樣利用時(shí)域分析法驗(yàn)證之。

實(shí)驗(yàn)十S函數(shù)的編寫(xiě)及應(yīng)用(自學(xué))一、實(shí)驗(yàn)?zāi)康?、學(xué)習(xí)S函數(shù)的編寫(xiě)方法。2、利用S函數(shù)在Simulink環(huán)境中實(shí)現(xiàn)復(fù)雜模塊。二、相關(guān)知識(shí)Simulink是提供了一個(gè)十分易用的仿真平臺(tái),但在使用過(guò)程中會(huì)發(fā)現(xiàn)有些過(guò)程或?qū)ο笥矛F(xiàn)成的Simulink模塊不易搭建,遠(yuǎn)不如m文件和函數(shù)靈活和強(qiáng)大。事實(shí)上,Simulink也提供了一個(gè)解決方案——S函數(shù),類(lèi)似于普通函數(shù)的功能,這大大擴(kuò)展了Simulink的仿真能力。用MATLAB語(yǔ)句編寫(xiě)S函數(shù)S函數(shù)還可以用C、C++、Fortran等語(yǔ)言編寫(xiě)。用MATLAB語(yǔ)句編寫(xiě)S函數(shù)引導(dǎo)語(yǔ)句為:function[sys,x0,str,ts]=funname(t,x,u,flag,p1,p2,…)其中funname為函數(shù)名,t、x、u分別為時(shí)間、狀態(tài)和輸入信號(hào),flag為標(biāo)志位,這四個(gè)參數(shù)是固定的,后面幾個(gè)參數(shù)為輸入?yún)?shù)。flag的值為0、1、2、3、4和9,分別對(duì)應(yīng)一個(gè)內(nèi)部過(guò)程,其關(guān)系如下表所示:Flag取值過(guò)程調(diào)用函數(shù)名返回參數(shù)012349初始化連續(xù)狀態(tài)計(jì)算離散狀態(tài)計(jì)算輸出信號(hào)計(jì)算下一步仿真時(shí)刻終止仿真設(shè)定mdlInitializeSizesmdlDerivativesmdlUpdatemdlOutputsmdlGetTimeOfNextVarHitmdlTerminatesys返回連續(xù)狀態(tài)sys返回離散狀態(tài)sys返回系統(tǒng)輸出sys返回下一步仿真的時(shí)間無(wú)在仿真過(guò)程中,flag=0(初始化過(guò)程)僅出現(xiàn)一次,其他值(過(guò)程)在每個(gè)采樣周期循環(huán)出現(xiàn),在每個(gè)過(guò)程中要完成一些功能,只要在這個(gè)過(guò)程中寫(xiě)上適當(dāng)?shù)某绦虼a即可。函數(shù)主程序通常如下(參見(jiàn)Simulink自帶文件):SwitchflagCase0, [sys,x0,str,ts]=mdlInitializeSizes;case1, sys=mdlDerivatives(t,x,u);case2, sys=mdlUpdate(t,x,u);case3, sys=mdlOutputs(t,x,u);case4, sys=mdlGetTimeOfNextVarHit(t,x,u);case9, sys=mdlTerminate(t,x,u);otherwise error(['Unhandledflag=',num2str(flag)]);end調(diào)用的各函數(shù)寫(xiě)在主程序之后,函數(shù)名是Simulin推薦的函數(shù)名,不是強(qiáng)制性的,我們也可以用其他函數(shù)名,更簡(jiǎn)單地,不用函數(shù),把過(guò)程直接寫(xiě)在主程序中。其中flag為0和3的過(guò)程必須編寫(xiě)程序,其他過(guò)程根據(jù)實(shí)際需要可忽略。初始化過(guò)程的編寫(xiě)有一定的規(guī)范,如下所示:function[sys,x0,str,ts]=mdlInitializeSizessizes=simsizes; =1; %連續(xù)狀態(tài)的個(gè)數(shù) =0; %離散狀態(tài)的個(gè)數(shù) =1; %輸出變量個(gè)數(shù) =2; %輸入變量個(gè)數(shù) =1; %輸入是否直接至輸出端,通常為1=1; %采樣周期個(gè)數(shù),通常為1。S函數(shù)支持多采樣周期系統(tǒng)sys=simsizes(sizes);x0=[]; %初始化狀態(tài)str=[]; %說(shuō)明字符串變量,通常為空串ts=[-10]; %采樣周期初始化初始化需提供S函數(shù)的一些特定信息,包括輸入/輸出變量和狀態(tài)的個(gè)數(shù)等,這通過(guò)一個(gè)結(jié)構(gòu)變量實(shí)現(xiàn)。第一句sizes=simsizes通過(guò)simsizes函數(shù)定義一個(gè)結(jié)構(gòu)變量,該變量有6個(gè)結(jié)構(gòu)元素,如上所示,按具體要求設(shè)置完成后,通過(guò)sys=simsizes(sizes)語(yǔ)句賦給sys參數(shù)。除了sys外,還應(yīng)設(shè)置系統(tǒng)的初始狀態(tài)變量x0、說(shuō)明變量str和采樣周期變量ts,其中ts為雙列矩陣,每一行對(duì)應(yīng)一個(gè)采樣周期。對(duì)連續(xù)系統(tǒng)和有單個(gè)采樣周期的系統(tǒng)來(lái)說(shuō),該變量為[t1,t2],其中t1為采樣周期,t1=-1則將繼承輸入信號(hào)的采樣周期,t2為偏移量,一般取0。2、S函數(shù)的調(diào)用建立Simulink仿真框圖時(shí),選擇S-Function模塊(Simulink5在User-DefinedFunction模塊庫(kù)),雙擊S-Function模塊,會(huì)彈出一個(gè)參數(shù)設(shè)置對(duì)話框,如下圖所示,在S-Functionname欄內(nèi)填寫(xiě)S函數(shù)文件名,就可以建立起該模塊和我們編寫(xiě)的S函數(shù)文件之間的聯(lián)系,在S-Functionparameters欄內(nèi)給出S函數(shù)的輸入?yún)?shù),參數(shù)可以是常數(shù),也可以是變量名,如果是變量名,仿真前須在命令窗口中賦值。三、實(shí)驗(yàn)內(nèi)容1.編寫(xiě)S函數(shù),實(shí)現(xiàn)下圖死區(qū)非線性模塊功能ss-sh-hs+h-s-hxy編寫(xiě)S函數(shù)如下:function[sys,x0,str,ts]=sqnl(t,x,u,flag,s1)%死區(qū)非線性%s1為死區(qū)環(huán)值switchflag,case0,[sys,x0,str,ts]=mdlInitializeSizes;case1sys=x;case3,sys=mdlOutputs(t,x,u,s1);case{1,2,4,9}sys=[];otherwiseerror(['Unhandledflag=',num2str(flag)]);endfunction[sys,x0,str,ts]=mdlInitializeSizessizes=simsizes;=0;=0;=1;=1;=1;=1;%atleastonesampletimeisneededsys=simsizes(sizes);x0=[];str=[];ts=[-10];functionsys=md

溫馨提示

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

評(píng)論

0/150

提交評(píng)論