matlab中使用fuzzy工具箱


4步教你學會使用matlab模糊控制工具箱

      Matlab模糊控制工具箱為模糊控制器的設計提供了一種非常便捷的途徑,通過它我們不需要進行復雜的模糊化、模糊推理及反模糊化運算,只需要設定相應參數,就可以很快得到我們所需要的控制器,而且修改也非常方便。下面將根據模糊控制器設計步驟,一步步利用Matlab工具箱設計模糊控制器。

  首先我們在Matlab的命令窗口(command window)中輸入fuzzy,回車就會出來這樣一個窗口。

  下面我們都是在這樣一個窗口中進行模糊控制器的設計。

  1.確定模糊控制器結構:即根據具體的系統確定輸入、輸出量。

這里我們可以選取標准的二維控制結構,即輸入為誤差e和誤差變化ec,輸出為控制量u。注意這里的變量還都是精確量。相應的模糊量為E,EC和U,我們可以選擇增加輸入(Add Variable)來實現雙入單出控制結構。

  2.輸入輸出變量的模糊化:即把輸入輸出的精確量轉化為對應語言變量的模糊集合。

首先我們要確定描述輸入輸出變量語言值的模糊子集,如{NB,NM,NS,ZO,PS,PM,PB},並設置輸入輸出變量的論域,例如我們可以設置誤差E(此時為模糊量)、誤差變化EC、控制量U的論域均為{-3,-2,-1,0,1,2,3};然后我們為模糊語言變量選取相應的隸屬度函數。

  在模糊控制工具箱中,我們在Member Function Edit中即可完成這些步驟。首先我們打開Member Function Edit窗口.

  然后分別對輸入輸出變量定義論域范圍,添加隸屬函數,以E為例,設置論域范圍為[-3 3],添加隸屬函數的個數為7.

  然后根據設計要求分別對這些隸屬函數進行修改,包括對應的語言變量,隸屬函數類型。

  3.模糊推理決策算法設計:即根據模糊控制規則進行模糊推理,並決策出模糊輸出量。

  首先要確定模糊規則,即專家經驗。對於我們這個二維控制結構以及相應的輸入模糊集,我們可以制定49條模糊控制規則(一般來說,這些規則都是現成的,很多教科書上都有),如圖。

  制定完之后,會形成一個模糊控制規則矩陣,然后根據模糊輸入量按照相應的模糊推理算法完成計算,並決策出模糊輸出量。

  4.對輸出模糊量的解模糊:模糊控制器的輸出量是一個模糊集合,通過反模糊化方法判決出一個確切的精確量,凡模糊化方

法很多,我們這里選取重心法。

  5.然后Export to disk,即可得到一個.fis文件,這就是你所設計的模糊控制器。

來源:http://blog.sina.com.cn/s/blog_408540af0100avnv.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM