?? lou.m
字號:
clc
clear all
b=newfis('fis'); %建立新的FIS系統%
writefis(b,'myfuzzy2'); %將名為fis的模糊控制系統保存到磁盤%
b=readfis('myfuzzy2'); %從磁盤中讀取名為fis的模糊控制系統%
b=addvar(b,'input','e',[-6 6]); %給FIS添加新的輸入變量e%
b=addvar(b,'input','ec',[-6 6]); %給FIS添加新的輸入變量ec%
b=addvar(b,'output','u',[-7 7]); %給FIS添加新的輸入變量u%
b=addmf(b,'input',1,'PL','gaussmf',[1.227 6]); %將隸屬度函數PL添加到FIS%
b=addmf(b,'input',1,'PM','gaussmf',[1.311 4]); %將隸屬度函數PM添加到FIS%
b=addmf(b,'input',1,'PS','gaussmf',[0.849 2]); %將隸屬度函數PS添加到FIS%
b=addmf(b,'input',1,'PO','trimf',[0.111 0.111 2.57]); %將隸屬度函數P0添加到FIS%
b=addmf(b,'input',1,'NO','trimf',[-2.492 0.0159 0.0476]);%將隸屬度函數N0添加到FIS%
b=addmf(b,'input',1,'NS','gaussmf',[0.7957 -2]); %將隸屬度函數NS添加到FIS%
b=addmf(b,'input',1,'NM','gaussmf',[1.069 -4]); %將隸屬度函數NM添加到FIS%
b=addmf(b,'input',1,'NL','gaussmf',[1.227 -6]); %將隸屬度函數NL添加到FIS%
b=addmf(b,'input',2,'PL','gaussmf',[1.201 6]); %將第二個輸入的隸屬度函數PL添加到FIS%
b=addmf(b,'input',2,'PM','gaussmf',[0.9841 4]); %將第二個輸入的隸屬度函數PM添加到FIS%
b=addmf(b,'input',2,'PS','gaussmf',[1.011 2]); %將第二個輸入的隸屬度函數PS添加到FIS%
b=addmf(b,'input',2,'O','gaussmf',[0.715 0]); %將第二個輸入的隸屬度函數0添加到FIS%
b=addmf(b,'input',2,'NS','gaussmf',[0.9572 -2]); %將第二個輸入的隸屬度函數NS添加到FIS%
b=addmf(b,'input',2,'NM','gaussmf',[0.9841 -4]); %將第二個輸入的隸屬度函數NM添加到FIS%
b=addmf(b,'input',2,'NL','gaussmf',[1.25 -6]); %將第二個輸入的隸屬度函數NL添加到FIS%
b=addmf(b,'output',1,'PL','gaussmf',[1.211 7]); %將輸出的隸屬度函數PL添加到FIS%
b=addmf(b,'output',1,'PM','gaussmf',[0.9908 4]); %將輸出的隸屬度函數PM添加到FIS%
b=addmf(b,'output',1,'PS','gaussmf',[0.802 1]); %將輸出的隸屬度函數PS添加到FIS%
b=addmf(b,'output',1,'O','gaussmf',[0.6763 0]); %將輸出的隸屬度函數0添加到FIS%
b=addmf(b,'output',1,'NS','gaussmf',[0.802 -1]); %將輸出的隸屬度函數NS添加到FIS%
b=addmf(b,'output',1,'NM','gaussmf',[1.025 -4]); %將輸出的隸屬度函數NM添加到FIS%
b=addmf(b,'output',1,'NL','gaussmf',[1.243 -7]); %將輸出的隸屬度函數NL添加到FIS%
rulelist=[8 7 1 1 1;8 6 1 1 1;8 5 1 1 1; 8 4 1 1 1; %定義模糊規則%
8 3 2 1 1;8 2 4 1 1;8 1 4 1 1; 7 7 1 1 1;
7 6 1 1 1;7 5 1 1 1;7 4 1 1 1; 7 3 2 1 1;
7 2 4 1 1;7 1 4 1 1;6 7 2 1 1; 6 6 2 1 1;
6 5 2 1 1;6 4 2 1 1;6 3 4 1 1; 6 2 5 1 1;
6 1 5 1 1;5 7 2 1 1;5 6 2 1 1; 5 5 3 1 1;
5 4 4 1 1;5 3 5 1 1;5 2 6 1 1; 5 1 6 1 1;
4 7 2 1 1;4 6 2 1 1;4 5 3 1 1; 4 4 4 1 1;
4 3 5 1 1;4 2 6 1 1;4 1 6 1 1; 3 7 3 1 1;
3 6 3 1 1;3 5 4 1 1;3 4 6 1 1; 3 3 6 1 1;
3 2 6 1 1;3 1 6 1 1;2 7 4 1 1; 2 6 4 1 1;
2 5 6 1 1;2 4 7 1 1;2 3 7 1 1; 2 2 7 1 1;
2 1 7 1 1;1 7 4 1 1;1 6 4 1 1; 1 5 6 1 1;
1 4 7 1 1;1 3 7 1 1;1 2 7 1 1; 1 1 7 1 1];
b=addrule(b,rulelist); %在FIS中添加規則%
writefis(b,'myfuzzy2'); %將名為fis的模糊控制系統保存到磁盤%
b=setfis(b,'defuzzmethod','mom'); %采用mom(極大平均法)進行反模糊化
showfis(b);
out=evalfis([-6 -6],b)
for i=-6:6 %創建模糊矩陣%
for j=-6:6
u(i+7,j+7)=round(evalfis([i j],b));
end
end
u
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -