




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第6章Matlab在模糊控制中的應用Matlab(是“MatrixLaboratory”的縮寫)是由美國Mathworks公司于1984年正式推出的一套高性能的科學計算軟件。針對模糊邏輯尤其是模糊控制的迅速推廣應用,MathWork公司在其MATLAB版中添加了FuzzyLogic工具箱。該工具箱由長期從事模糊邏輯和模糊控制研究與開發(fā)工作的有關專家和技術人員編制。MATLABFuzzyLogic工具箱以其功能強大和方便易用的特點得到了用戶的廣泛歡迎。模糊邏輯的創(chuàng)始人Zadeh教授稱贊該工具箱“在各方面都給人以深刻的印象,使模糊邏輯成為智能系統(tǒng)的概念與設計的有效工具”。在本章中,以Matlab6
2、.5為開發(fā)環(huán)境,基于模糊控制工具箱(FuzzyLogicToolbox),通過一些簡單直觀的例子,對模糊控制系統(tǒng)進行分析、設計與研究,并通過對部分例子的詳細說明,使讀者能夠初步掌握模糊邏輯工具箱的使用。6.1模糊邏輯工具箱函數(shù)一、模糊邏輯工具箱函數(shù)簡介Matlab的模糊邏輯工具箱函數(shù)為模糊控制系統(tǒng)的分析與設計提供了許多工具箱函數(shù),它們可按主題分為如下幾大類:GUI(圖形用戶界面)工具、隸屬度函數(shù)、FIS(模糊推理系統(tǒng))數(shù)據(jù)結構管理、先進技術、Simulink仿真模塊、模糊系統(tǒng)演示程序、其它函數(shù)。以函數(shù)名稱與對應的功能格式分別用表6-16-7表示。表6-1GUI(圖形用戶界面)工具函數(shù)功能函數(shù)功
3、能anfisedit打開ANFIS編輯器的GUIruleedit規(guī)則編輯器和解析器fuzzy調用基本的FIS編輯器ruleview規(guī)則觀察器和模糊推理方框圖mfedit隸屬度函數(shù)編輯器surfview輸出曲面觀察器表6-2隸屬度函數(shù)函數(shù)功能函數(shù)功能dsigmf由兩個Sigmoid型隸屬度函數(shù)之差構成的隸屬度函數(shù)psigmf由兩個Sigmoid型隸屬度函數(shù)的積構成的隸屬度函數(shù)gauss2mf聯(lián)合高斯型隸屬度函數(shù)sigmfSigmoid型隸屬度函數(shù)gaussmfgbellmf高斯型隸屬度函數(shù)廣義鐘型隸屬度函數(shù)smftrapmftrimfS型隸屬度函數(shù)梯型隸屬度函數(shù)三角形型隸屬度函數(shù)pimf口型隸屬
4、度函數(shù)zmfZ型隸屬度函數(shù)表6-3先進技術函數(shù)功能函數(shù)功能anfisfcmgenfis1Sugeno型FIS的訓練程序模*®C均值聚類不使用數(shù)據(jù)聚類的方法從數(shù)據(jù)中生成FIS結構genfis2subclust使用減法聚類的方法從數(shù)據(jù)中生成FIS結構用減法聚類的方法尋找聚類中心1表6-4FIS數(shù)據(jù)結構管理函數(shù)功能函數(shù)功能addmf在FIS中添加隸屬度函數(shù)parsrule模糊規(guī)則解析addrule在FIS中添加規(guī)則plotfis繪圖表示FISaddvar在FIS中添加變量piotmfreadfis繪制給定變量的所有隸屬度函數(shù)從磁盤中裝入FISdefuzzevalfis對隸屬度函數(shù)進行反模糊
5、化完成模糊推理計算rmmf從FIS中刪除某一變量的某一隸屬度函數(shù)evalmf通用隸屬度函數(shù)的計算revar從FIS中刪除某一變量gensurf生成FIS輸出曲面setfis設置模糊系統(tǒng)的屬性getfis族取模糊系統(tǒng)的特性showfis以分行的形式顯示FIS結構的所后屬性mf2mf在兩個隸屬度函數(shù)之間進行shoerule顯示FIS的規(guī)則newfis1參數(shù)轉換建立新的FISwritefis將FIS保存W磁盤中表6-5Simulink仿真模塊函數(shù)功能函數(shù)功能fuzblockSimulink模糊邏輯控制器庫sffis用丁Simulink的模糊推理S-函數(shù)表6-6其它函數(shù)函數(shù)功能函數(shù)功能convertf
6、isFIS結構的版本變換模*®C均值和減法聚類交換mam2sug將Mamdanni型的FIS變換成Sugeno型的FISfindclusterGUIfuzdemos模糊邏輯工具箱演示程序列表fuzarith完成模糊算術運算表6-7模糊系統(tǒng)演示程序函數(shù)功能函數(shù)功能defuzzdm去模糊方法noiedm自適應噪聲消除fcdemoFCM聚類方法演示(一維)slbb棒球控制gasdemo使用減法聚類的ANFIS演示slcp倒立擺控制juggler魔球演示sltank水位控制invkine機械臂的倒置sltankrule帶觀測器的水位控制irsfcmFCM聚類演示(四維)sltbu卡車倒車控制
7、下面主要介紹GUI(圖形用戶界面)工具、隸屬度函數(shù)、FIS數(shù)據(jù)結構管理這三類模糊邏輯工具箱的一些函數(shù)。二、有關GUI(圖形用戶界面)的工具箱函數(shù)1. anfisedit功能:打開ANFIS編輯器的GUI。格式:anfisedit(,a?)anfisedit(a)anfisedit2界面:an巾sedit函數(shù)打開ANFIS編輯器的GUI如圖6-1所示。圖6-1 ANFIS編輯器的GUI說明:利用an危edit函數(shù)打開ANFIS編輯器的GUI,從中可裝入數(shù)據(jù)集合并訓練ANFIS。利用aMisedit('a')可從磁盤中裝入名為afis的FIS結構文件,并打開ANFIS編輯器的GUI
8、o利用an巾sedit(a)可按同樣方式打開FIS結構變量a(只是此時的a保存在工作空間中)。菜單項:(1) File菜單下各子菜單NEWFIS:建立新的FIS系統(tǒng),可選擇為Mamdani型的或者是Sugeno型的FIS系統(tǒng)。此時默認的文件名為Untitled。Importfromworkspace從工作空間中裝入制定的FIS結構變量。Importfromdisk從磁盤中將指定的.fis文件裝入系統(tǒng)。Exporttoworkspace將系統(tǒng)保存到工彳空間指定的FIS結構變量中。Exporttodisk將當前系統(tǒng)以自己指定的命名保存到磁盤中。Print:打印指定的系統(tǒng)內容。Close:關閉GUI
9、窗口。(2) Edit菜單項下各子菜單Undo:撤銷最近的操作。FISproperties打開FIS編輯器。Membershipfunctions打開隸屬度函數(shù)編輯器。Rules打開規(guī)則編輯器。(3) View菜單下各子菜單Rules打開規(guī)則編輯器。Surface打開曲面觀測器。2. fuzzy功能:調用基本的FIS編輯器。格式:fuzzyfuzzy(fismat)界面:fuzzy函數(shù)打開FIS編輯器的GUI如圖6-2所示。FIS Rdit or; ITnrjit Ird_ | 口!X圖6-2 基本的FIS編輯器說明:FIS編輯器可讓用戶方便的創(chuàng)建或修改FIS(模糊推理系統(tǒng))的高級特性,如輸入
10、、輸出變量的個數(shù)、反模糊化方法等。FIS編輯器是FIS的高級顯示,它允許用戶調用各種其他的編輯器來進行FIS操作,這種接口為訪問更高級的編輯器提供了方便。FIS編輯器主要包括如下幾大部分:圖表:包括輸入、輸出和中心模糊規(guī)則處理器三大部分。點擊輸入、輸出變量框時所選框為當前變量,當前變量所對應的框為一個紅色加亮的框,此時可在相應的Name文本編輯欄中對變量進行命名或對變兩名進行修改。還可以通過Edit菜單下的AddVariable來增加輸入或輸出變量,對于所選得當前變量,可以用鍵盤上的Delete鍵直接刪除,也可以用Edit菜單下的RemoveSelectedVariables行刪除。雙擊其中的
11、1個變量,可進入隸屬度函數(shù)編輯器。雙擊模糊規(guī)則處理器(輸入、輸出變量框之間的那個方框)可進入規(guī)則編輯器。當規(guī)則框中沒有規(guī)則時,輸入、輸出變量框與規(guī)則處理器框之間相連的線為虛線,有規(guī)則后變?yōu)閷嵕€。推理方法下拉式菜單由5個下拉式菜單可用于改變模糊推理過程的5種基本推理方法:(1) Andmethod(與方法):可為其選擇min(最?。?、prod(乘積)或Custom(自定義)運算。(2) Ormethod(或方法):可以選擇max(最大)、probor(概率方法)或Custom運算。(3)Implication(蘊含):可以選擇min、prod或Custom運算,此方法不適應于Sugeno型的模糊
12、推理。(4)Aggregation(集結):可以選擇max、sumsprobor或Custom運算,此方法不適應于Sugeno型的模糊推理。(5)Defuzzication(反模糊化):對Mamdani型模糊推理,可以選擇centroid(區(qū)域重心法)、bisector(區(qū)域等分法)、mom(極大平均法)、som(極大最小法)、lom(極大最大法)或Custom對Sugeno型的模糊推理,可以選擇wtaver(加權平均)或stsum(加權求和)。菜單項:(3) File菜單下的子菜單:與ANFIS編輯器中File菜單相同.(4) Edit菜單下的子菜單:Undo:撤銷最近的操作。AddInpu
13、tVariable:在當前系統(tǒng)中增加1個輸入變量。AddOutputVariable:在當前系統(tǒng)中增加1個輸出變量。RemoveSelectedVariables除選中的變量。Membershipfunctions打開隸屬度函數(shù)編輯器。Rules打開規(guī)則編輯器。3. mfedit功能:隸屬度函數(shù)編輯器。格式:mfeditmfedit('a')mfedit(a)界面:mfedit函數(shù)打開MF編輯器的GUI如圖6-3所示。圖6-3隸屬度函數(shù)編輯器說明:mfedit可用于打開隸屬度函數(shù)編輯器;mfedit(,a?)可打開隸屬度函數(shù)編輯器,其中包含文件a.fis的隸屬度函數(shù),通過編輯器
14、可對其進行修改;mfedit(a)可打開保存在工作空間變量a中的FIS結構。對于每個隸屬度函數(shù),我們可修改其名稱、類型及其參數(shù)。在隸屬度函數(shù)編輯器中有11種內部的隸屬度函數(shù)可供選擇,當然也可以建立用戶自定義的隸屬度函數(shù)。隸屬度函數(shù)編輯器主要包括以下內容:圖表:在窗口左上角的FISVariables標題下選擇變量圖標,此時在圖形區(qū)域顯示出相應的隸屬度函數(shù),點擊圖形區(qū)域中的曲線可選擇隸屬度函數(shù)。隸屬度函數(shù)種類下拉式菜單:右下角組合框中Type標簽的右面有一個下拉式菜單,其中有11種內部的隸屬度函數(shù)可供選擇。系統(tǒng)也提供了安裝用戶自定義隸屬度函數(shù)的選項。菜單項:(1)File菜單下的子菜單:與ANFI
15、S編輯器中File菜單相同(2)Edit菜單下的子菜單:Undo:撤銷最近的操作。AddMfs在當前變量中添加隸屬度函數(shù)。AddCustomMfs在當前變量中添加自定義的隸屬度函數(shù)。RemoveSelectedMf刪除選中的隸屬度函數(shù)。RemoveAllMfs:刪除當前變量的所有隸屬度函數(shù)。FISProlperties打開FIS編輯器。Rules:打開規(guī)則編輯器。View菜單下的子菜單:與ANFIS編輯器中的View菜單項相同4. ruleedit功能:規(guī)則編輯器和解析器。格式:ruleedit(,a?)ruleedit(a)界面:ruleedit函數(shù)打開規(guī)則編輯器的GUI如圖6-4所示。圖6
16、-4規(guī)則編輯器和解析器說明:利用ruleedit(,a?)可打開規(guī)則編輯器,從中可以查看或修改文件a.fis所對應的FIS結構中的規(guī)則。Ruleedit(a)格式可用來打開在工作空間中已存在的名為a的FIS結構所對應的規(guī)則編輯器。利用規(guī)則編輯器建立規(guī)則,首先應定義FIS使用的所有輸入和輸出變量,然后利用輸入和輸出變量的列表框和復選框進行選擇,最后選擇相應的聯(lián)結方式及權值。菜單項:(1) File菜單下的子菜單與ANFIS編輯器中File菜單相同。(2) Edit菜單下的子菜單Undo:撤銷最近的操作。FISProperties打開FIS編輯器。Membershipfunctions打開隸屬度函
17、數(shù)編輯器。(3) View菜單下的子菜單與ANFIS編輯器中的View菜單項相同。(4) Options菜單下的子菜單Language:可選擇不同的語言,有English(英語)、Deutsch(彳惠語)和Francais(法語)3種。Format:格式選擇:Verbose(詳細):使用單詞“if、”“then”“anc®"o等建立句子表達。例如,規(guī)貝U"ifAandBthenC”Symbolic(符號):利用邏輯推理符號表達。例如下面的規(guī)則可表達為:“A&B=>C'。Indexed(編號):用編號和模糊推理框圖。格式:ruleview(,a
18、?)ruleview(a)界面:ruleview函數(shù)打開規(guī)則觀測器的GUI如圖6-5所示。說明:利用ruleview(,a?)可打開文件a.fis規(guī)則善的規(guī)則觀測器,從中可對a.fis文件的FIS結構畫出模糊推理框圖,通??娠@示整個推理框圖,這時改變各變量的輸入值,可以立即得到系統(tǒng)重新調整后的情況,并計算出新的輸出。ruleview(a)用于打開工作空間中已存在的變量a規(guī)則觀測器。圖6-5規(guī)則觀測器和模糊推理框圖菜單項:File菜單下的子菜單與ANFIS編輯器中File菜單相同Edit菜單下的子菜單Undo:撤銷最近的操作。FISProperties:打開FIS編輯器。Membershipfu
19、nctions:打開隸屬度函數(shù)編輯器。Rules:打開規(guī)則編輯器。(3) View菜單下的子菜單Surfview:打開曲面觀測器。6.srufview功能:輸出曲面觀測器。格式:surfview(,a?)界面:surfview函數(shù)打開曲面觀測器的GUI如圖6-6所示說明:利用surfview(,a?)可打開輸出曲面觀測器,從中可查看保存在文件a.fis中的單輸入或雙輸入FIS結構的輸出曲面。由于它不會改變推理系統(tǒng)及相應的FIS結構。因此它是一個只讀編輯器。利用X、Y、Z軸對應的3個下拉式菜單,可以選擇輸入、輸出坐標軸的變量。選擇Evaluate按鈕可完成計算并繪制出輸出曲面。(1) File菜
20、單下的子菜單與ANFIS編輯器中File菜單相同。(2) Edit菜單下的子菜單圖6-6輸出曲面觀測器Undo:撤銷最近的操作。FISProperties打開FIS編輯器。Membershipfunctions:打開隸屬度函數(shù)編輯器。Rules:打開規(guī)則編輯器。(3) View菜單下的子菜單Ruleview:打開規(guī)則觀測器。Options菜單下的子菜單Plot:它下面有8種繪圖格式可供選擇。ColorMap:用于選擇不同的顏色方案。Alwaysevaluate:選中該項時,一旦對系統(tǒng)進行了修改,就自動進行計算并繪制出新的曲面。再選一次可使它無效。三、隸屬度函數(shù)在Matlab的模糊邏輯工具箱內部
21、本身有11種隸屬度函數(shù)可供用戶選擇,由于篇幅所限,在此不做詳細介紹。四、FIS數(shù)據(jù)結構管理函數(shù)1 addmf功能:將隸屬度函數(shù)加到FIS(模糊推理系統(tǒng))。格式:a=addmf(a,?varType?,?varIndex?,?mfName?,?mfType?,?mfPara。ms?)說明:隸屬度函數(shù)只能添加到MATLAB工作空間中已經建立的FIS結構中。按隸屬度函數(shù)添加的順序將其編號,這樣給變量添加的第一個隸屬度函數(shù)稱為該變量的1號隸屬度函數(shù),如果系統(tǒng)中只有1個輸入變量,則不能給第2個變量添加隸屬度函數(shù)。addmf函數(shù)有6個輸入變量:(1) a:工作空間中的FIS結構變量名;(2) varTyp
22、e要添加的隸屬度函數(shù)的變量類型(input或output);(3) varIndex:要添加的隸屬度函數(shù)的變量編號;(4) mfName:新添加的隸屬度函數(shù)名;(5) mfType:新隸屬度函數(shù)的類型;(6) mfParams:指定隸屬度函數(shù)的參數(shù)變量。示例:a=newfis(,Simple?);%建立新的FIS系統(tǒng)a=addvar(a,?input?,?e%;6);%給FIS添加新的輸入變量“e”a=addmf(a,?input?,?1?,?NL?,?trapm-f6?,-6,-5,-3);a=addmf(a,?input?,?1?,?NS?,?trapm-f5?,-3,-2,0);a=ad
23、dmf(a,?input?,?1?,?ZR?,?trim-f?2,0,2)。2 addrule功能:在FIS中添加規(guī)則。格式:a=addrule(a,ruleList)說明:addrule函數(shù)有2個變量,第1個變量a為FIS的變量名,第2個變量ruleList表示規(guī)則矩陣。規(guī)則列表矩陣的格式有嚴格的要求:當模糊系統(tǒng)由m個輸入,n個輸出時,規(guī)則列表矩陣有m+n+2列,前m列表示系統(tǒng)的輸入,每列數(shù)值表示輸入變量隸屬度函數(shù)的編號;接著的n列表示系統(tǒng)的輸出,每列的數(shù)值表示輸出變量隸屬度函數(shù)的編號;第m+n+1列的內容為該條規(guī)則的權值:0到1之間的值,通常設定為1;第m+n+2列的值決定模糊操作符的類型
24、:1(當模糊操作符為and時)或2(當模糊操作符為or時)示例:ruleList=11111;12211;a=addrule(a,ruleList);如果系統(tǒng)a有2個輸入(X和Y)和1個輸出(Z),則上述定義的第1條規(guī)則為IfXisx1andYisy1thenZisz1。3 addvar功能:在FIS中添加變量。格式:a=addvar(a,?varType?,?varName?,?varBounds?)說明:addvar函數(shù)有4個輸入變量。(1) a:工作空間中FIS的變量名;(2) varType:要添加的變量類型(input或output);(3) varName:要添加的變量名;(4)
25、varBounds:變量的取值范圍。添加的變量按其添加的順序進行編號,這樣添加到系統(tǒng)的第1個變量總是稱為系統(tǒng)的輸入變量1,輸入與輸出變量分開編號。示例:a=newfis(,Simple?);%建立新的FIS系統(tǒng)a=addvar(a,?input?,?e%;6);%給FIS添加新的輸入變量“e”4 defuzz功能:對模糊隸屬度函數(shù)進行反模糊化。格式:out=defuzz(x,mf,type)說明:defuzz(x,mf,type)可得到輸入為x時隸屬度函數(shù)mf的反模糊化值,其反模糊化的策略由type指定。變量type可?。?1) centroid:區(qū)域重心法;(2) bisector:區(qū)分等分
26、法;(3) mom:極大平均法;(4) som:極大最小值法;(5) lom:極大最大值法;如果type不取上述各種方法,則默認為用戶自定義的方法,x和mf通過這一函數(shù)可以產生反模糊化的結果。示例:x=10:0:10;mf=trapmf(x,-10-8-47);xx=defuzz(x,mf,?centroid?)。5 evalfis功能:完成模糊推理計算。格式:out=evalfis(input,fismat)out=evalfis(input,fismat,numPts)output,IRR,ORR,ARR=evalfis(input,fismat)output,IRR,ORR,ARR=ev
27、alfis(input,fismat,numPts)說明:evalfis函數(shù)具有下列參數(shù)。(1) input:指定輸入的數(shù)值或矩陣。如果輸入為mn矩陣時(n為輸入變量維數(shù)),則evalfis將輸入的每一行看作輸入變量,并在輸出變量output中產生m黑1矩陣,其中每一行為輸出向量,1為輸出變量數(shù)。(2) fismat:要計算的FIS結構。(3) numPts:計算輸入和輸出隸屬度函數(shù)時采用的取樣點數(shù),如果缺省,則采用缺省值101。(4) output:evalfis函數(shù)的輸出變量一m><1矩陣,其中m表示輸入變量數(shù),1表示輸出變量數(shù)。numRules矩陣,其中 numrules為n
28、umPts numRulesM 1 ,其中numRules歹!J對應于第1個輸出,(5) IRR:輸入值通過隸屬度函數(shù)后的結果,這是規(guī)則數(shù),n為輸入變量數(shù)。(6) ORR:輸出值通過隸屬度函數(shù)后的結果,這是numRules為規(guī)則數(shù),1為輸出變量數(shù)。這個矩陣的前接下來的numRules歹!J對應于第2個輸出,如此等等。(7) ARR:沿著每個輸出的取值范圍已numPts取樣得到的numPts"矩陣。只有當輸入變量為行向量時,evalfis才計算可選的輸出變量值。當只有1個輸出變量引用evalfis函數(shù)時,可計算出由結構fismat指定的FIS和由input指定的輸出向量outputo6
29、 evalmf功能:普通隸屬度函數(shù)的計算。格式:y=evalmf(x,mfParams,?mfType?)說明:evalmf函數(shù)可計算任意的隸屬度函數(shù),其中x為要計算的隸屬度函數(shù)取值,mfType為工具箱中存在的一只能夠隸屬度函數(shù),mfParams為該函數(shù)的相應參數(shù)。如果建立了自己的隸屬度函數(shù),evalmf函數(shù)也能很好的工作,這是因為evalmf只計算隸屬度函數(shù),并不對其名字進行識別。7 gensurf功能:產生FIS輸出曲面。格式:gensurf(fis)gensurf(fis,input,output)gensurf(fis,input,output,grids,refinput)說明:g
30、ensurf(fis)函數(shù)針對給定FIS的前兩個輸入和第一個輸出繪制出曲面。gensurffis,input,output)可在繪制輸出曲面時用input和output指定的輸入和輸出。gensurf(fis,input,output,grids,refinput)中grids指定X和Y方向的柵格數(shù),refinput指定系統(tǒng)不變的輸入。8 getfis功能:獲取模糊系統(tǒng)的特性。格式:getfis(a)getfis(a,?fisprop?)getfis(a,?varType?,varIndex,?fisprop)?getfis(a,?varType?,varIndex,?mf?,mfInde)x
31、getfis(a,?varType?,varIndex,?mf?,mfIndex,?mfPro)p?說明:這是C的基本訪問函數(shù),利用這一函數(shù)獲取FIS的每個部分。Getfis函數(shù)的輸入變量的含義說明如下。(1) a:FIS結構的變量名。(2) varType:變量類型的字符串,可取input或output。(3) varIndex:變量序號。(4) mf:要搜索的隸屬度函數(shù)信息的字符串。(5) mfIndex:要搜索信息的隸屬度函數(shù)的序號。9 mf2mf功能:在隸屬度函數(shù)之間進行參數(shù)交換。格式:outParams=mf2mf(inParams,inType,outType)說明:mf2mf函數(shù)
32、可根據(jù)隸屬度函數(shù)的參數(shù)集,將一種隸屬度函數(shù)變換成另一種,原則上,mf2mf函數(shù)在新舊隸屬度函數(shù)的對稱點上進行匹配。這種變換偶爾也會導致信息的丟失,因此如果再將其變換回原來的隸屬度函數(shù)類型時,則可能會與原隸屬度函數(shù)不一致。mf2mf的輸入變量有:(1) inParams:要變換的隸屬度函數(shù)的參數(shù)。(2) inType:要變換的隸屬度函數(shù)的字符串。(3) outType:要變換的隸屬度函數(shù)類型的字符串。示例:mfp1=123;mfp2=mf2mf(mfp1,?gbellmf?,?trimf?);mfp1代表gbellmf的參數(shù),mfp2代表變換為trimf后對應的參數(shù)。10 newfis功能:建立
33、新的FIS。格式:a=newfis(fisName,fisType,andMethod,orMethod,impMethod,aggMethod,defuzzMethod)說明:這一函數(shù)可建立新的FIS結構,newfis函數(shù)最多可有7個輸入變量,其輸出變量為FIS結構。newfis函數(shù)7個輸入變量為:(1) fisName:FIS結構名,其后綴默認為.fis。(2) fisType:FIS類型。(3) andMethod,orMethod,impMethod,aggMethod,defuzzMethod分別表示與,或,蘊含,結集和反模糊化方法。11 parsrule功能:模糊規(guī)則解析。格式:f
34、is2=parsrule(fis,txtRuleList)fis2=parsrule(fis,txtRuleList,ruleFormat)fis2=parsrule(fis,txtRuleList,ruleFormat,lang)說明:這一函數(shù)可對MATLAB工作空間中FIS變量定義的規(guī)則進行解析,如果原來的FIS結構具有初始的規(guī)則,則它們將在新的結構中被取代,這里可通過ruleFormat指定3種格式:verbose,symbolic和indexd,其缺省格式為verbose當對lang選項進行設定時,規(guī)則按verbose模式解析,lang可設定為English、Deutsh或Franca
35、is、English為默認設置。12 plotfis功能:繪圖表示FIS。格式:plotfis(fismat)說明:plotfis函數(shù)可繪制出FIS結構的框圖,圖中包含輸入及其隸屬度函數(shù)(左邊),規(guī)則處理器方框(中間),輸出及其隸屬度函數(shù)(右邊)。13 plotmf功能:繪制出指定變量的所有隸屬度函數(shù)。格式:plotmf(fismat,?varTypt?,varIndex)說明:plotmf函數(shù)可以繪制FIS結構種指定變量的所有隸屬度函數(shù),fismat表示指定的FIS結構,varTypt指定變量類型(input或output),varIndex指定變量的序號。14 readfis功能:從磁盤中
36、裝入FIS。格式:fismat=readfis(?filename?)說明:從磁盤.fis文件中讀取模糊推理系統(tǒng),并保存于工作空間中。fismat=readfis將打開讀取文件的對話框,以便輸入文件名及其路徑。15 rmmf功能:從FIS中刪除隸屬度函數(shù)。格式:fis=rmmf(fis,?varType?,varIndex,?mf?,mfIndex)說明:rmmf可從FIS中刪除指定的隸屬度函數(shù),其中fis指定FIS結構,varIndex指定變量序號,varType指定變量類型,mfIndex指定要刪除的隸屬度函數(shù)的序號,字符串mf指定要刪除的隸屬度函數(shù)。16 rmvar功能:從FIS中刪除變
37、量。格式:fis2,errorStr=rmvar(fis,?varType?,varIndex)fis2=rmvar(fis,?varType?,varIndex)說明:fis2=rmvarfis,?varType?,varIndex)可從FIS中刪除變量,其中fis指定FIS結構,varIndex指定要刪除的變量序號,varType指定變量類型,fis2,errorStr=rmvar(fis,?varType?,varIndex丹在errorStr中得到錯誤信息。17 setfis功能:設置模糊推理系統(tǒng)的特性。格式:a=setfis(a,?varPropname?,?newfisProp?)
38、a=setfis(a,?varType?,varIndex,?varPropname?,?newfisProp?a=setfis(a,?varType?,varIndex,?mf?,mfIndex,?varPropname?,?newfisProp?)說明:根據(jù)要設置的FIS特性不同,setfis命令可有3個,5個或7個輸入變量,下面給出了這些變量的含義說明。(1) a:工作空間中的FIS變量。(2) varType:變量類型。(3) varIndex:輸入,輸出變量序號。(4) mf:指定隸屬函數(shù)。(5) mfIndex:所選變量隸屬度函數(shù)的序號。(6) varPropname:表示要設置的
39、FIS特性的字符串,這里可取Name、Type、andMethod、orMethod、impMethod、aggMethod、defuzzMethod。(7)?newfisProp?描述要設置的FIS特性或方法的字符串。(8)?varPropname?指定要設置的變量域名??扇ame或Range(9) ,newvarProp?當變量域名為Name時,這一部分為要設置的變量名的字符串;變量域名為Range時,這一部分為改變變量范圍的陣列。(10) ,mfPropname?要設置的隸屬度函數(shù)域名的字符串,可取Name,Type或Params(11) ,newmfProp?:當隸屬度函數(shù)域名為Na
40、me或Type時,這一部分為要設置的隸屬度函數(shù)域名或類型;為Params時,這一部分為參數(shù)陣列。18 showfis功能:顯示帶注釋的FIS。格式:showfis(fismat)說明:showfis(fismat)可顯示出FIS結構fismat,從而更容易觀察FIS結構各個域的重要性及內容。19 showrule功能:顯示FIS規(guī)則。格式:showrule(fis)showrule(fis,indexList)showrule(fis,indexList,format)showrule(fis,indexList,format,lang)說明:showrule可顯示出FIS系統(tǒng)的規(guī)則,它可有1
41、到4個輸入變量:fis為FIS結構變量名;indexList為要顯示的規(guī)則的序號向量;format用于指定規(guī)則顯示的格式;lang用于指定顯示規(guī)則的語言。當調用showrule4個變量都采用時,第3個變量format的設置必須是verbose。20 writefis功能:將FIS結構保存到磁盤文件中。格式:writefis(fismat)writefis(fismat,?filename?)writefis(fismat,?filename?,?dialog?)說明:writefis可將MATLAB工作空間中的FIS結構變量fismat保存到磁盤文件中。writefis(fismat)可打開一
42、個對話框,以輸入變量的文件名及其路徑。write巾s(fismat?ilename?則lft接指定文件名filename.fis,這時不會出現(xiàn)對話框,文件保存在當前目錄中。write巾s(fismat,?filename?,?dialog初打開對話框,并且以filename.fis為文件名。五Simulink仿真模塊函數(shù)1 fuzblock功能:模糊邏輯控制器仿真模塊。格式:fuzblock說明:此命令將打開Simulink系統(tǒng)的模糊邏輯模塊庫,里面含有有關模糊邏輯器件的演示框圖,它們分別為:FuzzyLogicController:模糊邏輯控制器;FuzzyLogicControllerWi
43、thRuleViewer:帶有規(guī)則觀測器的模糊邏輯控制器;MemberShipFunctions:隸屬度函數(shù),里面包含有11種內定的隸屬度函數(shù)。2 sffis功能:Simulink中的模糊推理S函數(shù)。格式:output=sffis(t,x,u,flag,fismat)說明:用此函數(shù)可得到一個由Simulink使用的MEX文件,通常由evalfis函數(shù)完成計算工作,并且在Simulink環(huán)境中已經達到最優(yōu),這就意味著sffis可在Simulink仿真的初始階段就建立起數(shù)據(jù)結構,并一直在仿真中使用。自變量t、x和flag為Simulink中S函數(shù)標準變量,變量u為Matlab工作空間FIS結構fi
44、smat的輸入。關于模糊系統(tǒng)工具箱的其它內容可參考其它有關書籍,在此不再介紹。6.2模糊推理系統(tǒng)(FIS)的建立一個模糊推理系統(tǒng)的任務可分為三大塊,即可用三個步驟概括:首先,對測量數(shù)據(jù)進行Fuzzy化(即模糊化);其次,建立控制規(guī)則表;第三,輸出信息的Fuzzy判決,即對模糊量進行反模糊化,得到精確輸出量。具體來說,F(xiàn)uzzy化的過程,就是針對輸入變量的量測值,根據(jù)實際工程需要,選取合適的論域范圍,并分為幾種可能的情況選取幾個語言變量值,從而對輸入量測值進行量化,每個語言變量值可以選用某種隸屬度函數(shù)來表示;建立規(guī)則表,就是根據(jù)控制過程中的實際經驗,依照推理合成法或其它方法建立一系列規(guī)則,組成規(guī)
45、則表;輸出信息的Fuzzy判決,就是通過一系列反模糊化方法對推理后所得模糊輸出信息進行反模糊化運算(Defuzzication)。對Mamdani型模糊推理,通??梢赃x擇centroid(區(qū)域重心法)、bisector(區(qū)域等分法)、mom(極大平均法)、som(極大最小法卜lom(極大最大法)或Custom;對Sugeno型模糊推理,可以選擇wtaver(力口權平均)或wtsum(加權求和)。模糊推理系統(tǒng)的建立,往往是設計一個模糊控制系統(tǒng)的基礎。要想建立一個模糊推理系統(tǒng),通??梢杂脙深惙椒ǎ阂环N是利用GUI(圖形用戶界面)建立模糊推理系統(tǒng);另一種就是利用Matlab命令行建立模糊推理系統(tǒng)。下
46、面分別用這兩類方法結合具體的例子來介紹建立一個模糊推理系統(tǒng)的過程。一、利用GUI建立模糊推理系統(tǒng)在前面介紹模糊邏輯工具箱的圖形用戶界面工具中,我們對FIS編輯器、隸屬度函數(shù)編輯器、規(guī)則編輯器、規(guī)則觀測器、曲面觀測器和ANFIS編輯器已有所了解。下面我們通過一個具體的例子介紹利用GUI建立FIS的過程。例6-1水箱水位控制問題,如圖6-7所示。通過控制進水閥使得水箱水位保持在一定水平上。我們通常取水位誤差e和誤差變化率ec作為模糊控制器的輸入變量。其中,e=r-y(誤差=設定值測量值)。選取誤差e的論域范圍為-1,1,3個語言變量值為negative、zero、positive,它們的隸屬度函數(shù)
47、均取gaussmf俯斯曲線);水位變化率ec的論域為-0.1,0.1,3個語言變量值為negativezero和positive,它們的隸屬度函數(shù)也取gaussmt確定輸出變量數(shù)為1個,名字為u,其論域為-1,1,5個語言變量值為close-fast、close-slow、no-change,open-slow和open-fast,隸度函數(shù)選為trimf(三角形曲線)。根據(jù)水箱水位控制的實際經驗,可得到如下控制規(guī)則(用if-then語句表達):(1)Ifeisnegativethenuisclose-fast(2)Ifeiszerothenuisno-change(3)Ifeispositiv
48、ethenuisopen-fast;(4)Ifeiszeroandecisnegativethenuisopen-slow;(5)Ifeiszeroandecispositivethenuisclose-slow。利用GUI建立一個FIS系統(tǒng)的具體步驟說明如下。1 .進入FIS編輯器在Matlab的CommandWindow窗口提示符下,鍵入fuzzy可打開FIS編輯器,其界面如圖6-8所示。此時編輯器里還沒有FIS系統(tǒng),文件名為Untitled,且被默認為Mamdani型系統(tǒng)。此時上面圖表部分有1個輸入、1個輸出,還有中間的規(guī)則處理器。在FIS編輯器界面中進行的工作說明如下:(1)添加輸入變
49、量由于本例有2個輸入變量,因此需要再添加1個輸入變量,操作方法為:菜單Edit-AddVariable一Input匕時系統(tǒng)便有2個輸入變量,1個輸出變量。(2)命名輸入-輸出變量點擊輸入框(input1或input2)或輸出框(output1),在CurrentVariable組合框的Name編輯欄內修改變量名。本例中input1、Input2和output1分別命名為e、ec和為u。(3)保存系統(tǒng)選擇菜單File-Export-ToDisk。本例中將創(chuàng)建的水位控制系統(tǒng)命名為wl_control,此時,所顯示的即為初始的水位模糊推理系統(tǒng)wl_control,如圖6-9所示。也可以在FIS編輯器
50、中刪除不想要的輸入或輸出變量,方法為選中想要刪除的變量fEdit-RemoveSelectedVariable。也可以在選中變量后,直接按鍵盤上的Delete鍵進行刪除。利用FIS編輯器得到了初始模糊推理系統(tǒng)后,需要在隸屬度函數(shù)編輯器中進行隸屬度函數(shù)的定義。2 .進入隸屬度函數(shù)編輯器進入隸屬度函數(shù)編輯器有三種方法。(1)在FIS編輯器中雙擊任意一個輸入或輸出變量的圖框;(2)通過菜單Edit一MembershipFunctions;34(3)在Matlab的CommandWindow(命令窗口)提示符下鍵入mfedit(wl_control)。圖6-8基本的FIS編輯器圖6-9 初始wl_co
51、ntrol模糊推理系在隸屬度函數(shù)編輯器中,可以對各個變量的論域范圍、隸屬度函數(shù)進行編輯。首先,修改各變量的論域范圍。點擊FISVariables下面的各輸入輸出變量框一在CurrentVariable組合框中Range右邊編輯欄內,修改選中變量的論域范圍。Range編輯欄修改后,DisplayRange編輯欄內的值跟著改變,變得與Range編輯欄內的一致。本例中,輸入變量e的Range為-11,輸入變量ec的Range為-0.10.1,輸出變量u的Range為-11。其次,編輯輸入和輸出變量的隸屬函數(shù)所對應的Name(名字)、Type(類型)、Params參數(shù))。點擊某個變量,在Members
52、hipfunctionplots下面的圖表中將顯示所選變量的隸屬度函數(shù)曲線,默認情況每個變量有3個隸屬度函數(shù),均為trimf(三角形隸屬度函數(shù))。若所選變量所需的隸屬度函數(shù)個數(shù)少于3個,則可通過Edit-RemoveSelectedMF刪除多余的隸屬度函數(shù),也可通過鍵盤上的Delete鍵直接刪除。若選中變量所需隸屬度函數(shù)的個數(shù)多于3個,則可通過Edit-AddMFs添加所需的隸屬度函數(shù)。隸屬度函數(shù)個數(shù)確定好后,需要對每個隸屬度函數(shù)進行編輯,依次選中各隸屬度函數(shù)曲線,對其Name、Type及Params進行編輯。在本例中,對于輸入變量e,其隸屬度函數(shù)正好3個,從mf1到mf3,逐個編輯,將它們的
53、Name項分另U設置為negative、zero、positive,Type均設定為gaussmf,Params分別設置為0.45-1、0.450、0.451。對輸入變量ec,其隸屬度函數(shù)也是3個,從mf1到mf3,逐一編輯,將它們的Name項分別設置為negative、zero>positive,Type土勻設定為gaussmf,Params分另1J設置為0.045-0.1、0.0450、0.0450.1。對于輸出變量u,其隸屬度函數(shù)需要5個trimf,則需要通過Edit-AddMFs添加2個trimf隸屬函數(shù),從mf1到mf5,我們逐個編輯,將它們的Name項分別設置為close-f
54、ast、close-slow、no-changaopen-slow、open-fast,Tytp均設定為trimf,Params分別設置為-1.5-1-0.5、-1-0.50、-0.500.5卜00.51、0.511.5。至恥匕,便完成了隸屬度函數(shù)的編輯操作。此時,對應變量e、ec和u的隸屬度函數(shù)曲線在隸屬度函數(shù)編輯器的GUI中分別如圖6-10與圖6-11所示。圖6-11輸出變量u的隸屬函數(shù)編輯器界面圖6-10輸入變量e和ec隸屬函數(shù)編輯器界面編輯完所有變量的隸屬度函數(shù)之后,便可以進入規(guī)則編輯器來編輯規(guī)則。3 .進入規(guī)則編輯器可以通過三種途徑打開規(guī)則編輯器:(1)點擊FIS編輯器圖表部分中間的
55、方框一規(guī)則處理器方框;(2)通過菜單Edit-Rules(3)在Matlab的CommandWindow(命令窗口)提示符下鍵入ruleedit(wl_control)。打開的FIS結構wl_control的規(guī)則編輯器,圖6-12為規(guī)則編輯前的規(guī)則編輯器狀況。規(guī)則編輯器的GUI下面的規(guī)則前件、后件欄中已給出各個變量的模糊變量值。但規(guī)則欄中是空的現(xiàn)在,對本例前面給出的5條控制規(guī)則進行編輯。對第(1)條規(guī)則Ifeisnegativethenuisclose-fast編輯過程如下:在輸入變量e的語言變量欄中選擇negative,在輸入變量ec的語言變量欄中選擇none,用Connection復選框中and進行連接,權值Weight設定默認值1,在輸出變量u的語言變量欄中選擇close-fast。規(guī)則的前件及后件都設定好之后,按Addrule按鈕,便在規(guī)則欄中加入了第(1)條規(guī)則。對其他的規(guī)則,可以用類似步驟添加。在添加規(guī)則的過程中,如果需要用到某個語言變量相反的模糊值,則可以在該語言變量域的下面選not框。如果輸入了不正確的規(guī)則,可利用Deleterule按鈕刪除規(guī)則,然后重新添加正確的規(guī)則,或者利用Changerule按鈕修改規(guī)則。添加完規(guī)則后的規(guī)則編輯器如圖6-13所示。圖6-12規(guī)則編輯前的規(guī)則編輯器圖6-1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療輔助型教育機器人的技術創(chuàng)新點
- GB/T 20480-2025沙塵天氣等級
- 【高檔牛皮紙板流送抄紙工段生產的工廠車間布置及輔助專業(yè)設計案例3200字】
- 2025至2030中國電動潔面儀行業(yè)產業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國甲基異丁基甲酮行業(yè)產業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國生日蠟燭行業(yè)產業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國甘草霜行業(yè)產業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國特殊群體教育行業(yè)市場深度研究及發(fā)展前景投資可行性分析報告
- 《護理值班與交接班制度》考試試題
- 商業(yè)培訓的未來之路AR技術的應用與推廣研究
- 2023-2024學年四川省成都市高新區(qū)八年級(下)期末數(shù)學試卷
- 2025年廣西繼續(xù)教育公需科目考試試題和答案
- 心理健康科普常識課件
- 山東醫(yī)藥技師學院招聘筆試真題2024
- 奶茶公司供應鏈管理制度
- 物業(yè)消防培訓教學課件
- 2025年航空安全管理專業(yè)考試試卷及答案
- 詐騙諒解書和退賠協(xié)議書
- (高清版)DB13(J)∕T 8556-2023 建設工程消耗量標準及計算規(guī)則(園林綠化工程)
- 工程公司簡介(50個范本)
- GC/T 1401-2022國家物資儲備標志及使用規(guī)范
評論
0/150
提交評論