《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動(dòng)態(tài) > 基于MATLAB環(huán)境下的模糊推理程序化方法

基于MATLAB環(huán)境下的模糊推理程序化方法

2008-12-11
作者:陳秀真 白連平

  摘 要: 介紹了在MATLAB環(huán)境下,實(shí)現(xiàn)模糊推理" title="模糊推理">模糊推理的程序化的方法,解決了由于增加模糊量化論域而產(chǎn)生的復(fù)雜計(jì)算問題,為模糊控制" title="模糊控制">模糊控制的研究和應(yīng)用提供了方便的條件。
  關(guān)鍵詞: 模糊控制 近似推理 模糊推理程序化


  模糊控制具有不依賴對(duì)象的數(shù)學(xué)模型、魯棒性強(qiáng)、能夠很好地克服傳動(dòng)系統(tǒng)中模型參數(shù)變化和非線性等不確定因素的優(yōu)點(diǎn),因此,模糊控制在實(shí)際控制系統(tǒng)中得到廣泛應(yīng)用。模糊控制器" title="模糊控制器">模糊控制器普遍采用的是離線進(jìn)行模糊推理產(chǎn)生的模糊控制表,然后把控制表存儲(chǔ)在單片機(jī)中進(jìn)行在線查表控制,但模糊推理計(jì)算量大,這給模糊控制器的設(shè)計(jì)和調(diào)整帶來了許多困難。此外,模糊控制存在的一個(gè)較大的缺點(diǎn)是穩(wěn)態(tài)精度不高。為此,人們提出了許多改進(jìn)的方法[1],其中最直接的方法是增加模糊量化論域。但是,當(dāng)量化論域中元素、控制規(guī)則的條數(shù)很多時(shí),模糊推理計(jì)算控制表的運(yùn)算量大大增加。本文在MATLAB環(huán)境下,研究了模糊推理算法,研制了模糊推理程序。只要給出模糊控制器的輸入和輸出量的隸屬函數(shù)" title="隸屬函數(shù)">隸屬函數(shù)矩陣、控制規(guī)則矩陣、模糊量的特征向量" title="特征向量">特征向量矩陣,運(yùn)行該程序就可得到模糊控制表。該軟件使用方便,為模糊控制的研究和應(yīng)用提供了方便的條件。
1 模糊推理概述
  在模糊控制中,關(guān)鍵是要求得模糊關(guān)系矩陣,應(yīng)用最多的是離線進(jìn)行模糊推理產(chǎn)生控制表,模糊推理是模糊控制器的核心。這里以兩入一出、采用CRI推理方法及重心法解模糊的模糊控制器為例,簡(jiǎn)要介紹模糊推理過程。


  這里需要指出的是,把笛卡兒乘積看作一個(gè)n×1與一個(gè)1×m的矩陣合成。計(jì)算結(jié)果是n×m模糊陣,而( Ai×Bi)T1表示把這個(gè)n×m模糊陣按行“拉直”成nm元模糊行向量,再轉(zhuǎn)置成nm元模糊列向量;(A*×B*)T2的含義是:把A*×B*這個(gè)n×m模糊陣按行“拉直”成nm元模糊行向量。
2 基于MATLAB實(shí)現(xiàn)模糊推理程序設(shè)計(jì)
  在MATLAB環(huán)境下,充分利用其矩陣處理能力[2],可實(shí)現(xiàn)“∨—∧”、“∨—· ”及 “∧—⊕”模糊算子運(yùn)算、重心法(或最大隸屬度法)解模糊。由于模糊推理過程涉及到合成、求模糊關(guān)系及解模糊運(yùn)算等,采用自定義函數(shù)實(shí)現(xiàn)各個(gè)功能的模塊化。圖1為主函數(shù)程序框圖;圖2為求模糊關(guān)系程序框圖;圖3為解模糊程序框圖;圖4為合成程序框圖。


  運(yùn)行此程序,只要輸入矩陣A和B及相應(yīng)矩陣C、控制矩陣Q、特征向量矩陣A*和B*及輸出量化論域矩陣QF,就能得到模糊控制表。
3 計(jì)算實(shí)例
3.1 常規(guī)模糊控制器
  下面以常規(guī)模糊控制器為例來驗(yàn)證此程序的正確性。在常規(guī)模糊控制器中,輸入語言變量偏差E、偏差變化率CE、輸出語言變量控制量U的賦值表及E、CE→U的控制規(guī)則表見文獻(xiàn)[3]。文獻(xiàn)[3]中的原控制表如表1所示,利用本文編制的模糊推理程序(采用“∨—∧”算子、最大隸屬度解模糊)得到的控制表如表2所示。


  在表1、表2中最上面一行為輸入量誤差E的量化等級(jí),最左一列為輸入量誤差變化CE的量化等級(jí)。表1與表2中的數(shù)據(jù)存在差異,這是因?yàn)楸?中的帶*的數(shù)據(jù)均是修正后的結(jié)果。這一點(diǎn)可以通過特征展開近似推理方法[4]進(jìn)行驗(yàn)證。具體驗(yàn)證方法如下:
  以表1的第10行第7列為例,即E*=(0、0、0、0、0、0、1、0、0、0、0、0、0、0)、CE*=(0、0、0、0、0、0、0、0、0、1、0、0、0)為其特征向量、由特征展開近似推理方法[4]的式:
  
  可計(jì)算出α3=0.3、α4=1、β5=0.7、β6=0.7、β7=0.1、(α3∧β5)U4=0.3U4、(α3∧β6)U3=0.3U3、(α3∧β7)U3=0.1U3、(α4∧β5)U3=0.7U3、(α4∧β6)U2=0.7U2、(α4∧β7)U2=0.1U2、由其余50條規(guī)則得到的αi或βj總有一個(gè)為0,故這一對(duì)模糊輸入得到的模糊輸出為:
  U=0.3U4∪0.7U3∪0.3U3∪0.1U3∪0.7U2∪0.1U2
   =(0、0.14、0.49、0.7、0.49、0.56、0.7、0.3、0.15、0、0、0、0、0、0)
  經(jīng)過解模糊得到精確輸出為:
  u=((-4)+(-1))/2=-2.5
3.2 增加模糊量化論域的模糊控制器
  以增加模糊量化論域的模糊控制器為例進(jìn)行模糊推理,計(jì)算出控制表。取誤差E、誤差變化CE和控制量U的量化論域均為:
  {-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10}
  取誤差E、誤差變化CE和控制量U的模糊論域均為:
   {NVB,NB,NM,NS,NVS,ZO,PVS,PS,PM,PB,PVB}
  誤差E、誤差變化CE和控制量U的隸屬函數(shù)均如圖5所示。


  借鑒常規(guī)模糊控制器設(shè)計(jì)經(jīng)驗(yàn),得到語言控制規(guī)則表、如表3所示。表中共有121條控制規(guī)則,其中一些規(guī)則可以合并。但利用計(jì)算機(jī)進(jìn)行推理計(jì)算,這些規(guī)則就沒必要合并了。


  利用研制的模糊推理計(jì)算程序,采用“∨—?”得到的E,CE→U控制表,如表4所示。在表中最上面一行為誤差E的量化等級(jí),最左一列為誤差變化CE的量化等級(jí)。
4 仿真結(jié)果
  這里以對(duì)象
  

  為例,分別使用表2、表4中的數(shù)據(jù)構(gòu)成模糊控制器,響應(yīng)曲線如圖6中曲線1、2所示,其中采樣周期 T=0.1s。從圖6中可以看出,增加模糊量化論域的模糊控制器的穩(wěn)態(tài)精度明顯提高。


  此程序方便地實(shí)現(xiàn)了模糊推理的功能,免去了手工計(jì)算的麻煩。而且,不論變量的量化等級(jí)為多大,只要給定模糊控制器的輸入和輸出量的隸屬函數(shù)矩陣、控制規(guī)則矩陣、模糊量的特征向量矩陣,運(yùn)行該軟件就可快速地獲得相應(yīng)的模糊控制表。另外,該軟件可實(shí)現(xiàn)“∨—∧”、“∨—· ”、 “⊕—∧”模糊算子運(yùn)算及重心法、最大隸屬度原則模糊判決方法。因此,本文為模糊控制的研究和應(yīng)用提供了方便的條件。
參考文獻(xiàn)
1 吳介一.提高模糊控制器精度的研究.控制理論與應(yīng)用,1996;113(2):264~267
2 薛定宇. 控制系統(tǒng)計(jì)算機(jī)輔助設(shè)計(jì)——MATLAB語言及應(yīng)用. 清華大學(xué)出版社,1997.5
3 何 平,王鴻緒.模糊控制器的設(shè)計(jì)及應(yīng)用. 科學(xué)出版社:1997.1:202~206
4 陳永義,陳圖云. 特征展開近似推理方法. 遼寧師范大學(xué)學(xué)報(bào)(自然),1984.3:40~42

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。