① 如何使用matlab中fuzzy logic toolbox建立一個mamdani型模糊控制器
首先,將下載的工具箱文件解壓,將文件夾復制到MATLAB安裝目錄下toolbox文件夾下。
其次,在MATLAB命令行中輸入如下命令: >>cd D:\MATLAB7\toolbox\piotr_toolbox % 找到你的工具箱 >> addpath(genpath('D:\MATLAB7\toolbox\piotr_toolbox')) %。
② 怎麼通過 matlab 測試博途模糊控制結果
Matlab模糊控制工具箱為模糊控制器的設計提供了一種非常便捷的途徑,通過它我們不需要進行復雜的模糊化、模糊推理及反模糊化運算,只需要設定相應參數,就可以很快得到我們所需要的控制器,而且修改也非常方便。下面將根據模糊控制器設計步驟,一步步利用Matlab工具箱設計模糊控制器。
模糊控制工具箱使用,首先我們在Matlab的命令窗口中輸入fuzzy,回車就會出來這樣一個窗口。下面我們都是在這樣一個窗口中進行模糊控制器的設計。
確定模糊控制器結構:即根據具體的系統確定輸入、輸出量。這里我們可以選取標準的二維控制結構,即輸入為誤差e和誤差變化ec,輸出為控制量u。注意這里的變數還都是精確量。相應的模糊量為E,EC和U,我們可以選擇增加輸入AddVariable來實現雙入單出控制結構。
輸入輸出變數的模糊化:即把輸入輸出的精確量轉化為對應語言變數的模糊集合。
首先我們要確定描述輸入輸出變數語言值的模糊子集,如NB,NM,NS,ZO,PS,PM,PB,並設置輸入輸出變數的論域,例如我們可以設置誤差E(此時為模糊量)、誤差變化EC、控制量U的論域均為-3,-2,-1,0,1,2,3;然後我們為模糊語言變數選取相應的隸屬度函數。
在模糊控制工具箱中,我們在MemberFunctionEdit中即可完成這些步驟。首先我們打開MemberFunctionEdit窗口。
然後分別對輸入輸出變數定義論域范圍,添加隸屬函數,以E為例,設置論域范圍為,添加隸屬函數的個數為7。然後根據設計要求分別對這些隸屬函數進行修改,包括對應的語言變數,隸屬函數類型。
③ matlab聚類工具箱在哪裡
在matlab環境中首先運行install.m,將工具箱所在路徑添加至matlab就可以找到了。
④ 如何利用matlab將模糊邏輯轉化為查詢表
第一步:利用matlab模糊控制工具箱設計模糊控制器。
1、在matlab命令窗口中輸入 fuzzy ,產生如下窗口。
2、確定模糊控制器結構,即根據具體的系統確定輸入、輸出量。
這里我們可以選取標準的二維控制結構,即輸入為誤差e和誤差變化ec,輸出為控制量u。輸入變數的添加通過 Edit -> Add Variable -> Input 實現。
3、語言值及隸屬函數的確定。
首先我們要確定描述輸入輸出變數語言值的模糊子集,如{NB,NM,NS,ZE,PS,PM,PB},並設置輸入輸出變數的論域,例如我們設置誤差E、誤差變化EC的論域為[-6 6],控制量U的論域為[-10 10];然後為模糊語言變數選取相應的隸屬度函數。通過 Edit -> Membership Functions 打開隸屬度函數編輯器,然後分別對輸入輸出變數定義論域范圍,添加隸屬函數,以E為例,設置論域范圍為[-6 6],添加隸屬函數的個數為7。(註:隸屬度函數編輯器初始時已為每個變數定義了3個隸屬函數,再通過 Edit -> Add MFs 添加隸屬函數時,個數選擇4即可)
4、模糊控制規則的制定。
對於我們這個二維控制結構以及相應的輸入模糊集,我們可以制定49條模糊控制規則。
5、解模糊。
模糊控制器的輸出量是一個模糊集合,通過解模糊化方法判決出一個確切的精確量,解模糊化方法很多,我們這里選取重心法。
6、保存建立的模糊控制器。
File -> Export -> To File,文件名為 fuzzy_control。
第二步:建立Simulink模型。
1、在matlab命令窗口中輸入simulink,產生如下窗口。
2、新建模糊控制器模型,樣式如下。
3、在matlab命令窗口下輸入 fuzzy = readfis('fuzzy_control') ,將之前建立的模糊控制器載入到工作空間,並將Fuzzy Logic Contrtoller的參數設置為fuzzy。
4、保存該模型,命名為 fuzzy_model
第三步:系統測試界面的設置。
1、通過 Tools -> System Test -> Launch System Test 進入系統測試界面。
2、添加測試模型。
滑鼠選中Main Test ,菜單欄 Insert -> Test Element -> Simulink ,選擇第二步中建立的模型 fuzzy_model 。
3、變數定義。
在Test Vectors 項里定義兩個測試向量,變數名分別為 input1、input2,input1 = [-6:1:6], input2 = [-6:1:6];在Test Variables 里定義測試變數,變數名為output。
4、變數映射。
把測試向量input1、input2分別映射到模糊控制器的輸入口 in1、in2,做為輸入測試信號。把測試變數 output 映射到模糊控制器輸出口out1。設置後的界面如下:
輸入測試向量到模糊模型輸入口映射:
5、測試數據保存。
在測試界面點Save Results項,設置如下:
6、運行測試,注意在Main Test(169 Iterations)(169次迭代,運算代價),等待測試結束。
第四步:模糊控制查詢表的生成
1、系統測試結果保存在 stresults.ResultsDataSet.output 中,為169*1 cell的單元數組。(註:單元cell為 [n*1 double] 結構,表示系統被測試了n次)。
2、在matlab命令窗口下輸入 test_data = stresults.ResultsDataSet.output ,將測試結果另存在變數 test_data 中。
3、測試結果格式轉換。
由於所建的二維查詢表為13行13列,所需的數據應該為13*13 double數組,但因為test_data為 169*1 cell 的單元數組,無法直接作為表格數據輸入,因此需先進行格式轉換。
在matlab命令窗口下輸入 table_data = Cell2Array( test_data , 1 , 13 , 13 ) ,調用Cell2Array函數,取每個單元數組中的第一行元素,即第一次測試數據,返回結果保存在 table_data 中。
源碼如下:
4、新建二維查詢表模型,樣式如下:
5、點開二維查詢表進行如下設置:
6、點 Edit 按鈕,即可查看所生成的表格。
⑤ 怎樣用matlab中畫出模糊控制器2個輸入,3個輸出的隸屬函數圖
在模糊邏輯工具箱的File->Explot->Workspace
在命令窗口運行:
plotmf(a,'input',1)
plotmf(a,'input',2)
plotmf(a,'output',1)
plotmf(a,'output',2)
plotmf(a,'output',3)
其中a為你導出時在專workspace的變數名。屬
⑥ MATLAB模糊工具箱的使用
隸屬度函數裡面有三角形,梯形,高斯型,等這些隸屬度函數。設置的內時候只需要在參數哪兒,按照容他的格式,改變參數即可得到不同的隸屬度函數。先輸入fuzzy,然後點擊edit下的rules,即可修改模糊控制規則。對於simulink模擬,首先你輸入simulink,後建立模擬電路圖,別忘記加信號源還有示波器。最後存到matlab軟體包含的work文件夾下,你建立的模糊控制器也要放到work文件夾下,然後雙擊電路圖中的模糊控制器,把它的名字修改為與你建立的模糊控制器一樣的名字。模糊控制器名字比如c7fzpd.fis,那麼你就要把電路圖中的模糊控制器改成c7fzpd,然後保存,點擊模擬即可。我的郵箱[email protected]
⑦ 如何使用matlab中的工具箱
1、首先給出對應的擬合數據:>> x=1:100;>> y=2*x;一條直線。
⑧ matlab 模糊控制工具箱 關閉後怎樣修改
應該是:信號→模糊控制器→被控對象→輸出 其中,模糊控制器可在MATLAB窗口回中輸入答Fuzzy,然後設置輸入輸出各參數、隸屬度函數、模糊控制規則得到。 完成模糊控制器的設置後,在Sinulink下構建一個Model,加入其他元素,進行模擬。
⑨ MATLAB模糊工具箱自帶水位控制系統的simulink模型圖嗎怎麼打開
是的,自帶水箱simulink。在命令窗口輸入 sltank 然後回車,就打開了,如下:
有啥不懂的再問