系統(tǒng)識別-matlab第6章--控制工程類工具箱介紹_第1頁
系統(tǒng)識別-matlab第6章--控制工程類工具箱介紹_第2頁
系統(tǒng)識別-matlab第6章--控制工程類工具箱介紹_第3頁
系統(tǒng)識別-matlab第6章--控制工程類工具箱介紹_第4頁
系統(tǒng)識別-matlab第6章--控制工程類工具箱介紹_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)第9章 控制工程類工具箱介紹MATLAB的工具箱為使用該軟件的不同領(lǐng)域內(nèi)的研究人員提供了捷徑。迄今為止,大約有30多種工具箱面世,內(nèi)容涉及自動(dòng)控制、信號處理、圖象處理等多種領(lǐng)域。這些工具箱可以用來擴(kuò)充MATLAB的符號計(jì)算功能、圖形建模仿真功能、文字處理功能以及與硬件實(shí)時(shí)交互功能,也可以應(yīng)用于多種學(xué)科、多種領(lǐng)域。與這些工具箱函數(shù)相關(guān)的使用格式可以通過Help命令得到,用戶也可以針對具體系統(tǒng)設(shè)計(jì)自己的工具箱。9.2 系統(tǒng)辨識工具箱系統(tǒng)辨識工具箱的主要功能包括: 參數(shù)模型辨

2、識。主要模型有ARX、ARMAX、BJ模型,以及狀態(tài)空間和輸入誤差等模型類的辨識。 非參數(shù)模型辨識。 模型的驗(yàn)證。對辨識模型的仿真,將真實(shí)輸出數(shù)據(jù)與模型預(yù)測數(shù)據(jù)比較,計(jì)算相應(yīng)的殘差。 基于遞推算法的ARX、ARMAX模型的辨識。 各種模型類的建立和轉(zhuǎn)換函數(shù)。 集成多種功能的圖形用戶界面。該界面以圖形的交互方式提供模型類的選擇和建立、輸入輸出數(shù)據(jù)的加載和預(yù)處理,以及模型的估計(jì)等。9.2.1 系統(tǒng)辨識原理及辨識模型簡介系統(tǒng)辨識的主要內(nèi)容包括:實(shí)驗(yàn)設(shè)計(jì),模型結(jié)構(gòu)辨識,模型參數(shù)辨識,模型檢驗(yàn)。常用的模型類有:參數(shù)模型類利用有限的參數(shù)來表示對象的模型,在系統(tǒng)辨識工具箱中的參數(shù)模型類有:ARX模型、ARM

3、AX模型、BJ(Box-Jenkins)模型、狀態(tài)空間模型和輸入誤差模型。通常都限定為以下特殊的情形: ARX模型: (9.8) ARMAX模型: (9.9) BJ模型: (9.10) (9.11) 輸入誤差模型: (9.12) 狀態(tài)空間模型: (9.13)其中A,B,C,D為狀態(tài)空間模型的系數(shù)矩陣,v(t)為外界噪聲信號。非參數(shù)模型類非參數(shù)模型主要包括脈沖響應(yīng)模型和頻域描述模型。如圖9.3所示,假設(shè)待辨識的系統(tǒng)為線性系統(tǒng),u為輸入,y為輸出,v為噪聲,則可以得出輸入輸出的關(guān)系如下: (9.14)其中: q為時(shí)間平移算子,序列g(shù)(k)稱為對象的脈沖響應(yīng)模型,v(t)是不可測量的附加干擾噪聲。9

4、.2.2 系統(tǒng)辨識工具箱圖形界面圖9.4 系統(tǒng)辨識工具箱的圖形界面圖9.5 導(dǎo)入數(shù)據(jù)的窗口在MATLAB的命令窗口中鍵入ident進(jìn)入系統(tǒng)辨識工具箱的圖形界面,如圖9.4所示。除此之外,MATLAB還提供了以命令和函數(shù)的方法提供系統(tǒng)辨識工具。數(shù)據(jù)視圖數(shù)據(jù)視圖主要完成輸入輸出數(shù)據(jù)的導(dǎo)入及繪圖,位于圖9.4的左邊(Data Views)。選擇import data列表框中的“Time domain data”可以進(jìn)入數(shù)據(jù)的導(dǎo)入界面,如圖9.5所示。在圖9.5所示的對話框中,可以指定輸入輸出的變量名稱即可導(dǎo)入輸入輸出數(shù)據(jù),還可指定采樣周期,并為數(shù)據(jù)命名。導(dǎo)入數(shù)據(jù)后,可以通過圖形界面對這些數(shù)據(jù)進(jìn)行處理

5、。操作選擇在圖形界面的中間部分為數(shù)據(jù)操作(Operation)部分,包括兩個(gè)下拉式列表框。圖形界面的上方的是預(yù)處理(Preprocess)操作,可以對數(shù)據(jù)進(jìn)行相關(guān)操作,如:消除趨勢、濾波、選擇輸入輸出通道等。圖形界面的下方是進(jìn)行估計(jì)(Estimate)操作,可以選擇模型的類型,并通過相應(yīng)的對話框輸入模型階次等信息。此外,還可以將視圖區(qū)的圖表拖動(dòng)至兩個(gè)下拉列表之間的區(qū)域,使該圖表所表示的數(shù)據(jù)成為當(dāng)前工作的數(shù)據(jù),不用的數(shù)據(jù)可以拖入下方的垃圾桶“Trash”內(nèi)。模型視圖表9.1 圖形界面之模型視圖的復(fù)選框功能一覽表Model output模型輸出曲線Model resids模型預(yù)測殘差曲線Trans

6、ient resp暫態(tài)響應(yīng)曲線Frequency resp頻率響應(yīng)曲線Zeros and poles模型零極點(diǎn)圖Noise spectrum噪聲頻譜在圖9.4界面右邊的區(qū)域?yàn)镸odel views區(qū)即模型視圖區(qū)。在此區(qū)域可以選擇和切換不同的模型,進(jìn)行模型的驗(yàn)證和特征曲線的繪制等。模型視圖的下方有許多復(fù)選框,供用戶查看辨識輸出曲線及其它的特征曲線,功能見表9.1。下面通過MATLAB提供的實(shí)例來說明系統(tǒng)辨識工具箱的功能和使用方法。例9.8 以MATLAB的demo系統(tǒng)提供的干發(fā)器(dryer)模型為例,輸入為電源電壓信號,輸出為氣流的溫度。在MATLAB的命令窗口鍵入:load dryer2系統(tǒng)

7、自動(dòng)將u2和y2兩個(gè)變量裝載到MATLAB的“workspace”中,u2為輸入,y2為輸出。在圖9.5所示對話框中,分別將u2、y2填入“input”、“output”旁的文本框中,如果MATLAB的“workspace”中已有待辨識模型的輸入輸出數(shù)據(jù)向量,也可填入此處用于辨識;在“Sampling interval”中輸入采樣周期:0.08,并可在“Data name”旁的文本框?yàn)閿?shù)據(jù)命名;點(diǎn)擊“Import”按鈕后數(shù)據(jù)以圖標(biāo)的形式顯示在視圖中,如圖9.6所示。點(diǎn)擊工具箱界面(圖9.4)數(shù)據(jù)視圖下方的“Time plot”復(fù)選框可以打開隨時(shí)間變化的曲線,如圖9.7所示。如果要消除數(shù)據(jù)序列中

8、的平均值(constant level)可返回工具箱界面(圖9.4)窗口在“Preprocess”下拉列表中選擇“Remove means”,此時(shí)在數(shù)據(jù)視圖區(qū)出現(xiàn)新的數(shù)據(jù)dyrd,同時(shí)新數(shù)據(jù)隨時(shí)間變化的曲線也會(huì)自動(dòng)地加入圖9.7中,如圖9.8所示;雙擊數(shù)據(jù)視圖中任一圖表可以查看其相應(yīng)的信息。在工具箱界面(圖9.4)窗口“Preprocess”下拉列表中選擇“Select range”后打開一個(gè)新的圖形窗口。在此新窗口中可以選擇數(shù)據(jù)的一部分用于模型估計(jì),可以用鼠標(biāo)拖動(dòng)選擇圖9.7 信號隨時(shí)間的變化曲線圖9.6 導(dǎo)入數(shù)據(jù)后的圖形界面圖9.9 進(jìn)行參數(shù)估計(jì)及其暫態(tài)響應(yīng)曲線圖9.8 消除平均值后的圖形

9、界面及相應(yīng)的曲線或者直接鍵入時(shí)間范圍,如0-50,選好后點(diǎn)擊“Insert”按鈕返回,此時(shí)在數(shù)據(jù)視圖中生成一個(gè)新的數(shù)據(jù)dryde;將數(shù)據(jù)dryde拖入工具箱界面(圖9.4)中間的“Working data”(工作數(shù)據(jù))中,可以對其進(jìn)行參數(shù)估計(jì)與分析。在工具箱界面(圖9.4)窗口“Estimate”下拉列表中選擇“Correlation model”估計(jì)模型的暫態(tài)響應(yīng),在彈出的對話框中可以設(shè)置時(shí)間范圍等參數(shù),默認(rèn)系統(tǒng)設(shè)置不變則點(diǎn)擊“Estimate”按鈕,則在模型視圖中生成一個(gè)模型圖標(biāo)lmp,點(diǎn)擊“Transient resp”復(fù)選框,可以得到其暫態(tài)曲線,如圖9.9所示;在“Estimate”下

10、拉列表中選擇“Spectral model”估計(jì)模型的頻率響應(yīng),默認(rèn)彈出對話框中的參數(shù)設(shè)置進(jìn)行估計(jì),可以在模型視圖中生成一個(gè)模型spd,點(diǎn)擊“Frequency resp”復(fù)選框,可以得到其頻率響應(yīng)曲線,如圖9.10所示。圖9.10 模型頻率響應(yīng)曲線圖9.11 生成新參數(shù)模型的窗口Parametric models 圖9.12 不同模型仿真輸出與實(shí)際輸出的比較曲線圖圖9.13 ARX模型結(jié)構(gòu)階次選擇接下來進(jìn)行參數(shù)估計(jì),在工具箱界面(圖9.4)窗口“Estimate”下拉列表中選擇“Parametric models”,彈出對話框如圖9.11,輸入模型結(jié)構(gòu)信息可以生成新的模型。系統(tǒng)默認(rèn)的選擇為4

11、階差分方程模型,用此模型估計(jì)點(diǎn)擊“Estimate”按鈕生成新的模型arx441,并將曲線自動(dòng)添加到各視圖中。在圖9.11所示對話框中,可以進(jìn)入“Order editor”改變模型的階次,選擇na=2,nb=2,nk=3即為具有0.24s(3個(gè)采樣周期)延時(shí)的二階模型,點(diǎn)擊“Estimate”生成模型arx223;此時(shí)頻率響應(yīng)曲線窗口和暫態(tài)響應(yīng)曲線窗口都有三條曲線分別對應(yīng)于前面的三個(gè)模型,在主窗口點(diǎn)擊某一模型圖標(biāo)可以添加或去除在已打開視圖中對應(yīng)的曲線;在工具箱界面(圖9.4)窗口選擇“Model output”復(fù)選框,可以查看模型仿真輸出與實(shí)際輸出之間的比較結(jié)果,如圖9.12所示,右側(cè)給出了對

12、應(yīng)不同顏色表示的模型仿真輸出與實(shí)際輸出的相似度。在進(jìn)行參數(shù)估計(jì)時(shí),還可以選擇其它模型,如狀態(tài)空間模型(ss、BJ、ARMAX、oe等),階次同樣可選,操作同ARX模型的做法;如果不清楚選擇階次為多少比較合適,可以在圖9.11對話框中選擇“Order selection”并輸入階次的范圍,系統(tǒng)默認(rèn)為1:10,然后點(diǎn)擊“Estimate”按鈕后彈出如圖9.13的對話框,根據(jù)圖中提示選擇合適的模型并按“Insert”插入所選模型。9.2.3 系統(tǒng)辨識工具箱命令由于系統(tǒng)辨識工具箱可以處理許多不同種類的模型結(jié)構(gòu),因此這些模型結(jié)構(gòu)可以靈活定義。要?jiǎng)?chuàng)建一個(gè)模型進(jìn)行仿真時(shí),有必要定義模型結(jié)構(gòu)不是黑箱類型而是具

13、有更多細(xì)節(jié)能反映系統(tǒng)工作原理的內(nèi)部結(jié)構(gòu)。在系統(tǒng)辨識工具箱中是通過各種類型的模型對象來實(shí)現(xiàn)的。此模型對象包含許多特征,對任意模型使用命令get(m)可以得到模型的特征列表;使用set(m)可以看到各特征所分配的值。而且,可以通過類似m.A這樣的命令很容易地得到或者賦予某一特征值。(1) 多項(xiàng)式黑箱模型:idpoly模型通用的輸入輸出形式(如式(9.11)是由五個(gè)多項(xiàng)式定義的。這些都可表示為標(biāo)準(zhǔn)的MATLAB多項(xiàng)式格式。多項(xiàng)式的系數(shù)按降冪排列儲(chǔ)存在一個(gè)行向量中。例如,可表示為:A = 1 a1 a2 . an系統(tǒng)中的延時(shí)可在多項(xiàng)式B(q)前加零,例如對于如下的ARX模型: (9.15)可以用多項(xiàng)式

14、表示為:A = 1 -1.5 0.7B = 0 0 2.5 0.9式(9.11)的多項(xiàng)式模型可由如下命令生成:m = idpoly(A,B,C,D,F,lam,T)lam是白噪聲序列的方差,T為采樣周期。后面的參數(shù)變量可以缺省為默認(rèn)值。例如式(9.15)可以表示為:m = idpoly(1 -1.5 0.7,0 0 2.5 0.9)對于式(9.13)多輸入的情況,B和F都為矩陣,行號k對應(yīng)于第k個(gè)輸入。對于時(shí)間序列,B和F都為空矩陣B = ,F(xiàn) = 。(2) 數(shù)據(jù)表示和非參數(shù)模型估計(jì)觀測到的輸入輸出信號u(t)、y(t)分別用列向量u、y表示,序數(shù)k對應(yīng)于采樣數(shù)字k,對于多變量系統(tǒng),每一個(gè)輸入

15、(輸出)都可以表示為一個(gè)列向量,所以向量u就是一個(gè)N*nu的矩陣(N為采樣觀測的序列數(shù),nu為輸入通道數(shù))。輸入輸出數(shù)據(jù)全部表示在iddata對象的格式中。這是辨識工具箱處理信號的基本對象,在很多的函數(shù)中都會(huì)使用。構(gòu)造對象的使用格式:Data = iddata(y,u,Ts)其中,y是一個(gè)列向量或N*ny的矩陣,y的列對應(yīng)于不同的輸出通道。類似地,u也是一個(gè)列向量或N*nu的矩陣,u的列對應(yīng)不同的輸入通道。Ts為采樣間隔。這樣的構(gòu)造對于大部分的應(yīng)用來說已經(jīng)足夠??梢允褂肈ata.OutputData或Data.y得到輸出通道的信號,類似地,要得到輸入信號可以使用Data.InputData 或

16、 Data.u。對于時(shí)間序列(無輸入信號)可以使用Data = iddata(y)或令u = 。同樣也可用于單輸入系統(tǒng),只需令y = 。若需要修改采樣間隔,可以令Data.Ts = 0.3或使用語句:set(Data,Ts,0.3)(3) 參數(shù)模型估計(jì)在系統(tǒng)辨識工具箱中包括多種參數(shù)模型估計(jì)的函數(shù),它們都具有共同的命令結(jié)構(gòu)。m = function(Data,modstruc)m = .function(Data,modstruc,Property1,Value1,PropertyN,ValueN)變量Data是包括輸入輸出序列的iddata對象,而modstruc說明了被估計(jì)模型的特定結(jié)構(gòu)。模

17、型估計(jì)的結(jié)果返回到變量m中,它是存放了多種信息的模型對象。在大多數(shù)情況使用時(shí)可以不必考慮對象的細(xì)節(jié)重要輸入模型名稱m就可以了。若查看m的簡要信息輸入present(m),通過get(m)則可以得到更為詳細(xì)的參數(shù)信息,參數(shù)值仍然可以采用圓點(diǎn)引用的形式得到,例如m.par返回的就是估計(jì)參數(shù)。函數(shù)調(diào)用(.,Property1, Value1,.,PropertyN,ValueN)的參數(shù)影響著模型結(jié)構(gòu)及估計(jì)算法。(4) ARX模型從ARX多項(xiàng)式建立ARX模型可以使用函數(shù)idarx,格式如下:m = idarx(A,B,Ts)m = idarx(A,B,Ts, Property1, Value1,.,P

18、ropertyN,ValueN)對于多輸入輸出的ARX模型有如下形式: (9.16)其中系數(shù)Ak為ny*ny維矩陣,Bk為ny*nu維矩陣(ny為輸出參數(shù)個(gè)數(shù),nu為輸入?yún)?shù)個(gè)數(shù));輸入?yún)?shù)A為ny*ny*(1+na) 的3維矩陣并使得:A(:,:,k+1)=AkA(:,:,1)=eye(ny)輸出參數(shù)B為ny*nu*(1+nb) 的3維矩陣并使得:B(:,:,k+1)=BkTs為采樣周期。對式(9.8)的ARX模型參數(shù)ai和bi進(jìn)行估計(jì)可使用函數(shù)arx,格式如下:m = arx(Data,na nb nk)arx函數(shù)是基于最小二乘法的模型辨識,使用因式分解求解超定線性方程。其中Data是包含

19、輸入輸出數(shù)據(jù)的基礎(chǔ)iddata對象;na、nb和nk分別對應(yīng)準(zhǔn)確定義ARX模型的階次和純時(shí)延大小,如果有ny個(gè)輸出和nu個(gè)輸入,階次依次定義為:na是一個(gè)ny*ny的矩陣,nb和nk為ny*nu維的矩陣。例9.9 模擬一個(gè)具有1輸入2輸出的二階ARX模型并使用模擬數(shù)據(jù)估計(jì)該對象。A=zeros(2,2,3);B=zeros(2,1,3); %生成符合輸入輸出維數(shù)的3維空矩陣A(:,:,1)=eye(2); A(:,:,2)=1.5 0.1;-0.2 1.5;A(:,:,3)=0.7 -0.3;0.1 0.7;B(:,:,2)= 1;-1;B(:,:,3)= 0.5;1.2; %為輸入輸出數(shù)據(jù)矩

20、陣賦值m0=idarx(A,B,1);u=iddata(,idinput(300);e=iddata(,randn (300,2);y=sim(m0,u,e);m=arx( y,u, 2 2;2 2,2;2,1;1);(5) AR 模型對于單個(gè)輸出信號,ARX模型的特例就是AR模型arx命令同樣可以應(yīng)用在此特例上:m = arx(y,na),但是對于標(biāo)量信號,可以通過如下命令可以有更多的選擇:m = ar(y,na)通過對參數(shù)的設(shè)置可以選擇參數(shù)估計(jì)的最小二乘類方法,包括Burg機(jī)遇網(wǎng)格的方法、幾何網(wǎng)格的方法、Yule-Walker方法以及修正的協(xié)方差法。相關(guān)格式內(nèi)容可通過“help ar”命令

21、得到。(6) 通用多項(xiàng)式黑箱模型基于預(yù)測誤差方法可以建立任意結(jié)構(gòu)的基本模型,對于式(9.11)的模型,可以使用函數(shù):m = pem(Data,nn)nn給出所有的階次和延時(shí):nn = na nb nc nd nf nk對于模型的非零階次也可寫為“特征名/特征值”的格式:m = pem(Data,na,na,nb,nb,nc,nc,nk,nk)輸入?yún)?shù)由傳遞函數(shù)的多項(xiàng)式表達(dá)式定義,命令pem涵蓋了所有黑箱線性系統(tǒng)的模型,對于常見的幾種都可以使用,例如:m = armax(Data,na nb nc nk) m = oe(Data,nb nf nk) m = bj(Data,nb nc nd nf

22、 nk) 它們處理的對應(yīng)模型結(jié)構(gòu)分別為見式(9.8)(9.9)(9.10)。函數(shù)pem可以處理一般的多輸入,單輸出系統(tǒng)模型: (9.17)這里的nb、nf和nk都是行向量,長度與包含了所有階次和延時(shí)的輸入通道的數(shù)目相同:nb = nb1 . nbnu;nf = nf1 . nfnu;nk = nk1 . nknu;對于具有初始化條件的模型,可以用idmodel對象mi代替nn參數(shù):m = pem(Data,mi)(7) 過程模型對于過程控制實(shí)例,通常采用連續(xù)時(shí)間采樣模型,由靜態(tài)增益、時(shí)間常數(shù)和可能存在的停滯時(shí)間(時(shí)延)。這種模型可以由下列命令進(jìn)行估計(jì):m = pem(Data,P1D)其中P1

23、D表示一個(gè)極點(diǎn)(時(shí)間常數(shù))和時(shí)延。(8) 狀態(tài)空間模型 構(gòu)造狀態(tài)空間模型:idss模型定義具有如下形式的狀態(tài)空間模型結(jié)構(gòu): (9.18)或 (9.19)定義式(9.18)離散模型的語法結(jié)構(gòu)為:m= idss(A,B,C,D,K,X0,Ts,T),若令T=0,則表示連續(xù)時(shí)間模型(見式9.19)即:m=idss(A,B,C,D,Kt,X0,Ts,0) 黑箱。離散時(shí)間參數(shù)化的模型:假設(shè)對離散時(shí)間狀態(tài)空間模型的內(nèi)部結(jié)構(gòu)一無所知,如果是線性系統(tǒng),可以使用下列簡單的命名方法,可以對1-10階的系統(tǒng)進(jìn)行估計(jì):m = pem(Data)對于某一階次n的黑箱模型可以使用:m = pem(Data,n)也可以指定

24、一系列不同的階次nn = n1,n2,.,nN進(jìn)行辨識并繪圖比較來決定所需的階次:m = pem(Data,nx,nn)所有這些黑箱模型可以由子空間方法進(jìn)行初始化,可以使用n4sid命令對狀態(tài)空間模型進(jìn)行估計(jì):m = n4sid(Data,n) 離散/連續(xù)時(shí)間系統(tǒng)的參數(shù)結(jié)構(gòu)模型:對于給定結(jié)構(gòu)的狀態(tài)空間模型,主要討論帶自由參數(shù)的idss模型。一旦定義了結(jié)構(gòu)為ms,則可以通過如下命令估計(jì)它的參數(shù):m = pem(Data,ms)例9.10 估計(jì)一個(gè)系統(tǒng)的自由參數(shù)A=-0.2 0;0 -0.3;B=2;4;C=1 1 ;D=0;m0=idss(A,B,C,D);m0.As=NaN 0;0 NaN;m

25、0.Bs=NaN; NaN;m0.Cs=1 1;m0.Ts=0;u=iddata(,idinput(300,1);e=iddata(,randn(300,1);y=sim(m0,u,e);z=y,u;plot(y)m=pem(z,m0)9.3 模糊邏輯工具箱針對模糊數(shù)學(xué)的廣泛應(yīng)用,MathWorks公司在其MATLAB中加入了Fuzzy Logic工具箱,該工具箱由長期從事模糊邏輯和模糊控制的專家和技術(shù)人員編制,提供了強(qiáng)大的功能。 圖形化的系統(tǒng)設(shè)計(jì)界面。 支持模糊邏輯中的高級技術(shù),如自適應(yīng)神經(jīng)-模糊推理系統(tǒng)、用于模式識別的模糊聚類技術(shù)和模糊推理方法選擇等。 集成的仿真和代碼生成功能,實(shí)現(xiàn)了MA

26、TLAB模糊邏輯控制工具箱和SIMULINK的無縫連接,還可以通過Real-Time Workshop生成ANSIC原代碼有利于實(shí)際應(yīng)用。 用戶完成模糊邏輯系統(tǒng)的設(shè)計(jì)后,可以將設(shè)計(jì)結(jié)果以ASC碼的形式保存。模糊工具箱提供了三種類型的工具。 命令行函數(shù)。通過調(diào)用系統(tǒng)的命令函數(shù)或者用戶自定義的函數(shù),這些函數(shù)通常是以MATLAB的M文件形式來完成模糊邏輯算法; 圖形界面工具。通過該工具用戶可以在基于圖形界面的環(huán)境下直觀方便地設(shè)計(jì)、分析和實(shí)現(xiàn)模糊推理系統(tǒng); 仿真模塊與實(shí)例。提供在Simulink環(huán)境下實(shí)現(xiàn)高速模糊邏輯推理的設(shè)計(jì)和使用。9.3.1.模糊邏輯工具箱的圖形界面圖9.14 FIS編輯器的圖形界

27、面用fuzzy命令打開FIS編輯器的圖形界面,見圖9.14,通過此界面可以定義整個(gè)模糊系統(tǒng)。默認(rèn)的是,界面提供Mamdani法的單輸入單輸出;OR和AND算子分別由max和min實(shí)現(xiàn),蘊(yùn)含關(guān)系用min,合成規(guī)則用max,用重心法(centroid)去模糊化。下面以一個(gè)調(diào)節(jié)一階過程的模糊控制器來說明模糊工具箱圖形界面??紤]傳遞函數(shù): (9.18)令r(t)為給定信號,y(t)為離散輸出。模糊控制器有兩個(gè)輸入:誤差e(t)及它的變化e(t),其中: (9.20)圖9.15 定義誤差變量的隸屬度函數(shù)編輯器圖9.16 模糊規(guī)則編輯器這兩個(gè)輸入量分別用變量error和d_error表示,并定義在三個(gè)模糊

28、集上,其高斯隸屬度函數(shù)定義在-10 10區(qū)間。(1) 在圖9.14所示窗口中,在Edit菜單下選擇“Add input”添加一個(gè)輸入量。用鼠標(biāo)選中輸入輸出變量后,可以指定其變量名稱或max-min、sum-prod等方法。 SHAPE * MERGEFORMAT (2) 圖9.15是定義在-10 10區(qū)間上的誤差變量,并使用三個(gè)高斯隸屬函數(shù),分別命名為Negative、Nil和Positive。(3) 定義了全部的輸入輸出變量后,在菜單View下選擇“Rules”打開規(guī)則編輯窗口,如圖9.16所示,每個(gè)規(guī)則末尾有一個(gè)括號括起來的權(quán)重系數(shù)。選中相應(yīng)的規(guī)則可以對其進(jìn)行修改,或者點(diǎn)擊右鍵選擇“Add

29、 rule”添加規(guī)則。在這個(gè)窗口中,還可以選擇規(guī)則的編寫語言種類,并通過菜單View能夠打開規(guī)則觀察窗口和表面視圖窗口。在規(guī)則視圖窗口(見圖9.17)中可以用鼠標(biāo)拖拽或直接輸入來調(diào)整輸入向量并可觀察到輸出結(jié)果的表面圖形和它去除離散化后的值。在表面視圖窗口可以看到隨輸入變量變化的輸出變量的表面圖形。本例的系統(tǒng)可以通過主窗口File菜單下的“Export to Disk”導(dǎo)出至一個(gè)FIS模糊調(diào)節(jié)器擴(kuò)展文件中,也可以以模糊矩陣的形式導(dǎo)出至工作變量空間(workspace)中。導(dǎo)出的文件能夠在集成的調(diào)試編輯器中得到模糊控制器的語言描述。使用如下命令進(jìn)入調(diào)試編輯: edit ex_fuzzy.fis圖9

30、.17 查看規(guī)則視圖窗口回車后在編輯器(Editor)顯示其對應(yīng)的fis文本:SystemName=ex_fuzzyType=mamdaniVersion=2.0NumInputs=2NumOutputs=1NumRules=9AndMethod=minOrMethod=maxImpMethod=minAggMethod=maxDefuzzMethod=centroidInput1Name=errorRange=-10 10NumMFs=3MF1=Negative:gaussmf,4.247 -10MF2=Nil:gaussmf,4.247 -1.11e-016MF3=Positive:gau

31、ssmf,4.247 10Input2Name=d_errorRange=-10 10NumMFs=3MF1=Negative:gaussmf,4.247 -10MF2=Nil:gaussmf,4.247 -1.11e-016MF3=Positive:gaussmf,4.247 10Output1Name=shuchuRange=-10 10NumMFs=5MF1=NG:trimf,-15 -10 -5.001MF2=N:trimf,-9.999 -5 -0.MF3=Z:trimf,-4.999 -5.551e-017 4.999MF4=P:trimf,0. 5 9.999MF5=PG:tri

32、mf,5.001 10 15Rules1 1, 5 (1) : 11 2, 4 (1) : 11 3, 3 (1) : 12 1, 4 (1) : 12 2, 3 (1) : 12 3, 1 (1) : 13 1, 3 (1) : 13 2, 1 (1) : 13 3, 2 (1) : 1圖9.18 導(dǎo)出模糊結(jié)構(gòu)到工作變量空間圖9.19 SIMULINK中的模糊邏輯控制器模塊通過主窗口File菜單下的“Export to Worksapce”導(dǎo)出至工作變量空間中,如圖9.18所示,并可以為該矩陣變量命名。可以在SIMULINK模型或M文件中應(yīng)用這個(gè)模糊推理系統(tǒng)。9.3.2 在SIMULINK中

33、應(yīng)用模糊推理系統(tǒng)圖9.20 模糊系統(tǒng)模塊參數(shù)輸入窗口MATLAB的模糊邏輯工具箱提供了與SIMULINK的無縫連接,建立了模糊邏輯推理系統(tǒng)后,可以在SIMULINK中對其仿真。SIMULINK中的Fuzzy logic toolbox中有相應(yīng)的模糊邏輯控制器模塊,如圖9.19所示。圖9.21 在SIMULINK中應(yīng)用模糊推理系統(tǒng)在前例的圖形界面中所設(shè)計(jì)的模糊推理系統(tǒng)已經(jīng)導(dǎo)出為一個(gè)FIS模糊調(diào)節(jié)器擴(kuò)展文件,名為ex_fuzzy.fis,并且以模糊矩陣ex_fuzzy的形式導(dǎo)出至工作變量空間。因此雙擊SIMULINK創(chuàng)建的模糊邏輯控制器的圖標(biāo),在空白處輸入該模糊矩陣的名稱:ex_fuzzy,見圖9

34、.20。圖9.22 輸出信號與目標(biāo)輸出信號曲線仍然以前述一階過程為例,過程的控制量等于模糊控制器的輸出加上前一個(gè)采樣時(shí)刻的控制量。建模如圖9.21所示。其中轉(zhuǎn)換單元(Switch)是為了比較不同的模糊增益下控制系統(tǒng)的性能,此處轉(zhuǎn)換時(shí)刻取t=300。仿真控制參數(shù)設(shè)置起止時(shí)間為0600,并采用離散變步長算法。圖9.23 模糊控制器的輸出和應(yīng)用的控制信號圖9.24 目標(biāo)信號為正弦信號時(shí)的輸入輸出曲線當(dāng)輸入目標(biāo)信號為方波信號時(shí),仿真過程輸出信號與輸入信號曲線如圖9.22,當(dāng)t300時(shí)即增益為0.8時(shí)響應(yīng)速度較快。scope3中uf對應(yīng)的是模糊控制器的輸出,ut為應(yīng)用的控制信號,它們的曲線如圖9.23。

35、當(dāng)輸入目標(biāo)更換為正弦信號時(shí),t300時(shí)即增益為0.8時(shí)穩(wěn)態(tài)誤差變小,見圖9.24。9.3.3常用模糊工具箱命令說明(1) GUI工具 Anfisedit 打開ANFIS編輯器GUIFuzzy 調(diào)用基本FIS編輯器Mfedit 隸屬度函數(shù)編輯器Ruleedit 規(guī)則編輯器和語法解析器Ruleview 規(guī)則觀察器和模糊推理方框圖Surfview 輸出曲面觀察器(2) 隸屬度函數(shù) dsigmf 兩個(gè)sigmoid型隸屬度函數(shù)之差組成的隸屬度函數(shù)gauss2mf 建立兩邊型高斯隸屬度函數(shù)gaussmf 建立高斯曲線隸屬度函數(shù)gbellmf 建立一般鐘型隸屬度函數(shù)pimf 建立型隸屬度函數(shù)psigmf

36、通過兩個(gè)sigmoid型隸屬度函數(shù)的乘積構(gòu)造隸屬度函數(shù)smf 建立S-型隸屬度函數(shù)sigmf 建立Sigmoid型隸屬度函數(shù)trapmf 建立梯形隸屬度函數(shù)trimf 建立三角形隸屬度函數(shù)zmf 建立Z-型隸屬度函數(shù)(3) FIS數(shù)據(jù)結(jié)構(gòu)管理addmf 向模糊推理系統(tǒng)(FIS)的語言變量添加隸屬度函數(shù)addrule 向模糊推理系統(tǒng)(FIS)的語言變量添加規(guī)則addvar 向模糊推理系統(tǒng)(FIS)添加語言變量defuzz 對隸屬度函數(shù)進(jìn)行反模糊化evalfis 完成模糊推理計(jì)算evalmf 通過隸屬度函數(shù)計(jì)算gensurf 生成一個(gè)FIS輸出曲面getfis 得到模糊系統(tǒng)的屬性mf2mf 在兩個(gè)

37、隸屬度函數(shù)之間轉(zhuǎn)換參數(shù)newfis 創(chuàng)建新的FISparsrule 解析模糊規(guī)則plotfis 繪制一個(gè)FISplotmf 繪制給定語言變量的所有隸屬度函數(shù)的曲線readfis 從磁盤裝入一個(gè)FISrmmf 從FIS中刪除某一語言變量的某一隸屬度函數(shù) rmvar 從FIS中刪除某一語言變量 setfis 設(shè)置模糊系統(tǒng)的屬性 showfis 以分行的形式顯示FIS結(jié)構(gòu)的所有屬性 showrule 顯示FIS的規(guī)則 writefis 保存FIS到磁盤上 (4) 先進(jìn)技術(shù) anfis Sugeno型模糊推理系統(tǒng)(FIS)的訓(xùn)練程序(只適用于MEX) fcm 模糊C均值聚類 genfis1 不使用數(shù)據(jù)

38、聚類方法從數(shù)據(jù)生成FIS結(jié)構(gòu) genfis2 使用減法聚類方法從數(shù)據(jù)生成FIS結(jié)構(gòu) subclust 用減法聚類方法尋找聚類中心 (5) Simulink仿真塊 fuzblock Simulink模糊邏輯控制器庫 sffis 用于Simulink的模糊推理S-函數(shù) (6) 演示(Demo)defuzzdm 反模糊化方法 fcmdemo FCM聚類顯示(二維) fuzdemos 列出所有模糊邏輯工具箱的演示程序 gasdemo 使用子聚類節(jié)省燃料的ANFIS演示 juggler 帶規(guī)則觀察器的彈球游戲器 invkine 單機(jī)械臂倒立擺運(yùn)動(dòng) irisfcm FCM聚類顯示(四維) noisedm

39、自適應(yīng)消除噪聲 slbb 球和棒控制(Simulink) slcp 倒立擺控制(Simulink) sltank 水位控制(Simulink) sltankrule 帶規(guī)則觀察器的水位控制(Simulink) sltbu 卡車入庫(只有Simulink方式) 9.4 神經(jīng)網(wǎng)絡(luò)工具箱神經(jīng)網(wǎng)絡(luò)是上世紀(jì)80年代末期發(fā)展起來的一種實(shí)用的多學(xué)科交叉技術(shù),是自動(dòng)控制領(lǐng)域的前沿學(xué)科之一,為解決復(fù)雜的非線性、不確定、不確知系統(tǒng)的控制問題開辟了新的途徑。這里主要介紹的是神經(jīng)網(wǎng)絡(luò)理論與控制理論的相結(jié)合。神經(jīng)網(wǎng)絡(luò)主要用于解決以下幾類問題:模式信息處理與模式識別;最優(yōu)化問題;復(fù)雜控制;信號處理與預(yù)測;信息的智能化處理

40、等?,F(xiàn)有MATLAB中的神經(jīng)網(wǎng)絡(luò)工具箱幾乎涉及了現(xiàn)有的神經(jīng)網(wǎng)絡(luò)的所有成果,涉及到的模型有: 感知器; 線性網(wǎng)絡(luò); BP(誤差反向傳播)網(wǎng)絡(luò); 徑向基網(wǎng)絡(luò); 自組織網(wǎng)絡(luò); 反饋網(wǎng)絡(luò)。對于以上幾種網(wǎng)絡(luò)模型,神經(jīng)網(wǎng)絡(luò)工具箱集成了多種學(xué)習(xí)算法,為用戶使用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)算法提供了方便,并且還包括了大量生動(dòng)的示例程序(demo),使用戶或初學(xué)者更好地理解神經(jīng)網(wǎng)絡(luò)各種算法。神經(jīng)網(wǎng)絡(luò)用于控制領(lǐng)域,主要是為了解決復(fù)雜的非線性、不確定、不確知問題。由于神經(jīng)網(wǎng)絡(luò)具有模擬人的部分智能的特性,如學(xué)習(xí)能力和自適應(yīng)性,從而使神經(jīng)網(wǎng)絡(luò)對變化的環(huán)境具有自適應(yīng)的能力,并且基本上不依賴于模型。到目前為止,神經(jīng)網(wǎng)絡(luò)在控制領(lǐng)域內(nèi)的各種模

41、型都有所應(yīng)用,核心算法就是利用神經(jīng)網(wǎng)絡(luò)的高度非線性來逼近各種難控模型,再通過一定的校正方法來達(dá)到控制系統(tǒng)的設(shè)計(jì)指標(biāo)。常用的神經(jīng)網(wǎng)絡(luò)控制方式有:利用神經(jīng)網(wǎng)絡(luò)進(jìn)行PID控制、直接逆動(dòng)態(tài)控制、模型參考自適應(yīng)控制、內(nèi)??刂?、前饋反饋控制、預(yù)測控制等。9.4.1 圖形用戶界面簡介MATLAB7.x的版本中神經(jīng)網(wǎng)絡(luò)工具箱提供了圖形用戶界面,使用戶在圖形界面上通過與計(jì)算機(jī)的交互設(shè)置進(jìn)行神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)和仿真,這樣神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)和仿真則變得簡單易學(xué)。 在MATLAB命令窗口輸入nntool,就可打開Network/Data Manager(網(wǎng)絡(luò)/數(shù)據(jù)管理器)窗口,如圖9.25所示。圖9.25 神經(jīng)網(wǎng)絡(luò)工具箱圖形

42、界面圖9.25所示窗口共有7個(gè)顯示區(qū)域和2個(gè)按鈕區(qū)域,分別說明如下:(1) 顯示區(qū)域Input區(qū):顯示用戶定義的輸入向量名稱;Target區(qū):顯示用戶定義的目標(biāo)向量名稱;Input Delay States區(qū):顯示用戶定義的輸入延遲參數(shù)變量名稱;Networks區(qū):顯示用戶定義的神經(jīng)網(wǎng)絡(luò)名稱;Outputs區(qū):顯示網(wǎng)絡(luò)的輸出向量名稱;Errors區(qū):顯示網(wǎng)絡(luò)的訓(xùn)練誤差變量的名稱;Layer Delay States區(qū):顯示用戶指定的網(wǎng)絡(luò)層延遲參數(shù)變量名稱。(2) 按鈕區(qū)域 Networks and Data按鈕區(qū)New Data:單擊此按鈕可彈出Create New Data窗口,在新窗口中可

43、以定義各種數(shù)據(jù)類型的變量名和數(shù)據(jù)值;New Network:單擊此按鈕可彈出Create New Network窗口,在新窗口中可以定義神經(jīng)網(wǎng)絡(luò)名稱、類型以及網(wǎng)絡(luò)結(jié)構(gòu);Import:單擊此按鈕可彈出Import or Load Network/Data manager窗口,可從工作區(qū)(Workspace)或磁盤文件導(dǎo)入神經(jīng)網(wǎng)絡(luò)或數(shù)據(jù);Export:單擊此按鈕可彈出Export or Save Network/Data manager窗口將目前的Network/Data Manager窗口中的變量導(dǎo)出到工作區(qū)(Workspace)或存到磁盤文件中;View:用來查看區(qū)域中被選中的變量或網(wǎng)絡(luò)的具體

44、內(nèi)容;Delete:用于刪除區(qū)域中被選中的變量或網(wǎng)絡(luò);Help:為用戶使用該圖形界面提供幫助。 Networks only按鈕區(qū)Initialize:對網(wǎng)絡(luò)進(jìn)行初始化;Simulate:對網(wǎng)絡(luò)進(jìn)行仿真;Train:訓(xùn)練網(wǎng)絡(luò);Adapt:網(wǎng)絡(luò)的自適應(yīng)調(diào)整。9.4.2 神經(jīng)網(wǎng)絡(luò)工具箱應(yīng)用示例以一個(gè)簡單的模式分類問題為例,說明神經(jīng)網(wǎng)絡(luò)工具箱圖形界面的使用。已知一個(gè)訓(xùn)練樣本集:設(shè)計(jì)一個(gè)兩層的神經(jīng)網(wǎng)絡(luò),第一層有5個(gè)神經(jīng)元,第2層有1個(gè)神經(jīng)元。(1) 在MATLAB命令窗口輸入nntool,打開Network/Data Manager(網(wǎng)絡(luò)/數(shù)據(jù)管理器)窗口。(2) 單擊New Network按鈕彈出Cr

45、eate New Network窗口,創(chuàng)建神經(jīng)網(wǎng)絡(luò),如圖9.26所示。 輸入網(wǎng)絡(luò)名稱(Network Name):Newnn; 選擇網(wǎng)絡(luò)類型(Network Type):Feed-forward backprop; 設(shè)定輸入范圍(Input ranges):-4 1 ;0 2; 選擇訓(xùn)練網(wǎng)絡(luò)的函數(shù)(Training function):TRAINLM; 選擇自適應(yīng)調(diào)整學(xué)習(xí)函數(shù) (Adaption learning function):LEARNGDM; 選擇誤差性能函數(shù)(Perfomance function):MSE; 選擇網(wǎng)絡(luò)層數(shù)(Number of layers):2; 設(shè)定各網(wǎng)絡(luò)層的屬

46、性(Properties for ):Layer1 神經(jīng)元個(gè)數(shù)(Number of neurons):5; 傳輸函數(shù)(Transfer Function):LOGSIG;Layer2 Number of neurons:1; Transfer Function:LOGSIG;圖9.26創(chuàng)建神經(jīng)網(wǎng)絡(luò)窗口 單擊View按鈕可以查看定義好的網(wǎng)絡(luò),如圖9.27所示;圖9.27 定義的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖圖9.28 設(shè)定數(shù)據(jù)視圖窗口 單擊Create按鈕,關(guān)閉本窗口,回到主窗口,剛剛建立的網(wǎng)絡(luò)模型名稱Newnn顯示在Networks區(qū)中。(3) 訓(xùn)練網(wǎng)絡(luò) 設(shè)定訓(xùn)練樣本的輸入向量:單擊New Data按鈕,彈出

47、Create New Data窗口,如圖9.28,選擇數(shù)據(jù)類型為Inputs,輸入向量名稱為p,值為1 -1 -2 -4;2 1 1 0,單擊Create按鈕,關(guān)閉本窗口,回到主窗口,剛剛建立的輸入向量名稱p顯示在Inputs區(qū)中,選中該向量名后單擊View按鈕可以對其進(jìn)行查看和修改操作。 設(shè)定訓(xùn)練樣本的目標(biāo)向量:與上面輸入向量的步驟相同,只是數(shù)據(jù)類型改選為Targets,目標(biāo)向量名稱為t,值為0.2 0.8 0.8 0.2。 訓(xùn)練網(wǎng)絡(luò):在主窗口Network/Data Manager中選中網(wǎng)絡(luò)名稱Newnn后單擊Train按鈕,彈出Network:Newnn窗口,如圖9.29所示。圖9.29

48、 訓(xùn)練神經(jīng)網(wǎng)絡(luò)頁面此窗口有多個(gè)選項(xiàng)卡,分別為:Training Info:選擇訓(xùn)練數(shù)據(jù)的輸入與目標(biāo)向量,并定義訓(xùn)練結(jié)果的輸出變量和誤差性能變量。在此例中,選擇輸入、目標(biāo)向量分別為p、t,采用系統(tǒng)自動(dòng)生成的輸出變量名newnn_outputs和誤差性能變量名newnn_errors;Training Parameters:可設(shè)置訓(xùn)練網(wǎng)絡(luò)的各種參數(shù),本例采用系統(tǒng)默認(rèn)值;Optional Info:設(shè)定在訓(xùn)練網(wǎng)絡(luò)時(shí)是否采用確認(rèn)樣本和測試樣本,本例均不采用。圖9.30 使用TRAINLM的訓(xùn)練過程設(shè)置完成后,單擊本窗口頁面上的Train Network按鈕開始訓(xùn)練,訓(xùn)練過程在新窗口中顯示出來,如圖9.30。 訓(xùn)練完成后,輸出變量名稱在主窗口Network/Data Manager中的Outputs區(qū)顯示,并且誤差性能變量名稱顯示在Errors區(qū)。選中變量名稱后單擊View按鈕可查看具體數(shù)據(jù)。 神經(jīng)網(wǎng)絡(luò)的仿真:在Network/Data Manager窗口中選中網(wǎng)絡(luò)名稱Newnn后單擊Simulate按鈕,彈出Network:Newnn窗口,并顯示Simulate頁面,如圖9.31所示。在此窗口可以選擇仿真數(shù)據(jù),并設(shè)定仿圖9.31 神經(jīng)網(wǎng)絡(luò)仿真設(shè)置頁面真結(jié)果名稱后,單擊

溫馨提示

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

評論

0/150

提交評論