⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 高斯隶属函数模糊控制器.txt

📁 隶属函数为gauss 的matlab 模糊控制器 编程文件!
💻 TXT
字号:
%模糊控制器
clear all:
%输入变量e、de输出变量u和隶属函数
f=newfis('initial');
f=addvar(f,'input','e',[-6,6]);%模糊语言变量
f=addmf(f,'input',1,'NB','gaussmf',[0.7,-6]);
f=addmf(f,'input',1,'NM','gaussmf',[0.7,-4]);
f=addmf(f,'input',1,'NS','gaussmf',[0.7,-2]);
f=addmf(f,'input',1,'ZE','gaussmf',[0.7,0]);
f=addmf(f,'input',1,'PS','gaussmf',[0.7,2]);
f=addmf(f,'input',1,'PM','gaussmf',[0.7,4]);
f=addmf(f,'input',1,'PB','gaussmf',[0.7,6]);
f=addvar(f,'input','de',[-6,6]);
f=addmf(f,'input',2,'NB','gaussmf',[0.7,-6]);
f=addmf(f,'input',2,'NM','gaussmf',[0.7,-4]);
f=addmf(f,'input',2,'NS','gaussmf',[0.7,-2]);
f=addmf(f,'input',2,'ZE','gaussmf',[0.7,0]);
f=addmf(f,'input',2,'PS','gaussmf',[0.7,2]);
f=addmf(f,'input',2,'PM','gaussmf',[0.7,4]);
f=addmf(f,'input',2,'PB','gaussmf',[0.7,6]);
f=addvar(f,'output','u',[-6,6]);
f=addmf(f,'output',1,'NB','gaussmf',[0.7,-6]);
f=addmf(f,'output',1,'NM','gaussmf',[0.7,-4]);
f=addmf(f,'output',1,'NS','gaussmf',[0.7,-2]);
f=addmf(f,'output',1,'ZE','gaussmf',[0.7,0]);
f=addmf(f,'output',1,'PS','gaussmf',[0.7,2]);
f=addmf(f,'output',1,'PM','gaussmf',[0.7,4]);
f=addmf(f,'output',1,'PB','gaussmf',[0.7,6]);
%列写模糊规则矩阵
rulelist=[ 1     1     1     1     1
     1     2     1     1     1
     1     3     1     1     1
     1     4     1     1     1
     1     5     2     1     1
     1     6     2     1     1
     1     7     3     1     1
     2     1     1     1     1
     2     2     1     1     1
     2     3     1     1     1
     2     4     2     1     1
     2     5     3     1     1
     2     6     4     1     1
     2     7     4     1     1
     3     1     1     1     1
     3     2     1     1     1
     3     3     2     1     1
     3     4     3     1     1
     3     5     4     1     1
     3     6     4     1     1
     3     7     4     1     1
     4     1     1     1     1
     4     2     2     1     1
     4     3     3     1     1
     4     4     4     1     1
     4     5     5     1     1
     4     6     6     1     1
     4     7     7     1     1
     5     1     4     1     1
     5     2     4     1     1
     5     3     4     1     1
     5     4     5     1     1
     5     5     6     1     1
     5     6     7     1     1
     5     7     7     1     1
     6     1     4     1     1
     6     2     4     1     1
     6     3     5     1     1
     6     4     6     1     1
     6     5     7     1     1
     6     6     7     1     1
     6     7     7     1     1
     7     1     5     1     1
     7     2     6     1     1
     7     3     7     1     1
     7     4     7     1     1
     7     5     7     1     1
     7     6     7     1     1
     7     7     7     1     1];
f=addrule(f,rulelist);
f1=setfis(f,'DefuzzMethod','bisector'); 
writefis(f1,'fuzzf');               
f2=readfis('fuzzf');                                  

ulist=zeros(13,13);
for i=1:13
    for j=1:13
        e(i)=-7+i;
        de(j)=-7+j;
        ulist(i,j)=evalfis([e(i),de(j)],f2);
    end
end
m=ulist
figure(1)
plotmf(f,'input',1)
figure(2)
plotmf(f,'input',2)
figure(3)
plotmf(f,'output',1)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -