摘要:介紹了在MATLAB環(huán)境下,實(shí)現(xiàn)模糊推理的程序化的方法,解決了由于增加模糊量化論域而產(chǎn)生的復(fù)雜計(jì)算問題,為模糊控制的研究和應(yīng)用提供了方便的條件。
關(guān)鍵詞:模糊控制 近似推理 模糊推理程序化
模糊控制具有不依賴對(duì)象的數(shù)學(xué)模型、
魯棒性強(qiáng)、能夠很好地克服傳動(dòng)系統(tǒng)中模型參數(shù)變化和非線性等不確定因素的優(yōu)點(diǎn),因此,模糊控制在實(shí)際控制系統(tǒng)中得到廣泛應(yīng)用。模糊控制器普遍采用的是離線進(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ù)矩陣、控制規(guī)則矩陣、模糊量的特征向量矩陣,運(yùn)行該程序就可得到模糊控制表。該軟件使用方便,為模糊控制的研究和應(yīng)用提供了方便的條件。
1 模糊推理概述
在模糊控制中,關(guān)鍵是要求得模糊關(guān)系矩陣,應(yīng)用最多的是離線進(jìn)行模糊推理產(chǎn)生控制表,模糊推理是模糊控制器的核心。這里以兩入一出、采用CRI推理方法及重心法解模糊的模糊控制器為例,簡(jiǎn)要介紹模糊推理過程。
設(shè)模糊集合 Ai =(a1i...ani)∈F(X),Bi =(b1i...bmi)∈F(Y),C =(c1i...cti)∈F(Z) (i=1,...,p),模糊規(guī)則為“IF Ai AND Bi THEN Ci”(i=1,...,p)。其中p為模糊變量的個(gè)數(shù),F(X)、F(Y)、F(Z)分別為論域X、Y、Z上的模糊集。由此可求得總模糊關(guān)系:

最后,通過解模糊判決可求出輸出的精確量:
注:Ai×Bi 是模糊向量的笛卡兒積,由公式(4)計(jì)算:
其中,“T”表示轉(zhuǎn)置,“o”表示矩陣合成運(yùn)算,使用最常見的 “∨—∧”算子計(jì)算,見公式:
這里需要指出的是,把笛卡兒乘積看作一個(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 E、CE→U 控制表





