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

📄 xinxincomeon.m

📁 This is a very useful program, hope it will help you
💻 M
字号:
%建立FIS
fuz2=newfis('simpleFuzzy2');
%设置语言变量E和三角形隶属函数
fuz2=addvar(fuz2,'input','e',[-6,6]);
fuz2=addmf(fuz2,'input',1,'NB','trimf',[-6,-6,-4]);
fuz2=addmf(fuz2,'input',1,'NM','trimf',[-6,-4,-2]);
fuz2=addmf(fuz2,'input',1,'NS','trimf',[-4,-2,0]);
fuz2=addmf(fuz2,'input',1,'NZ','trimf',[-1,0,0]);
fuz2=addmf(fuz2,'input',1,'PZ','trimf',[0,0,1]);
fuz2=addmf(fuz2,'input',1,'PS','trimf',[0,2,4]);
fuz2=addmf(fuz2,'input',1,'PM','trimf',[2,4,6]);
fuz2=addmf(fuz2,'input',1,'PB','trimf',[4,6,6]);
%设置语言变量EC和三角形隶属函数
fuz2=addvar(fuz2,'input','ec',[-6,6]);
fuz2=addmf(fuz2,'input',2,'NB','trimf',[-6,-6,-4]);
fuz2=addmf(fuz2,'input',2,'NM','trimf',[-6,-4,-2]);
fuz2=addmf(fuz2,'input',2,'NS','trimf',[-4,-2,0]);
fuz2=addmf(fuz2,'input',2,'Z','trimf',[-2,0,2]);
fuz2=addmf(fuz2,'input',2,'PS','trimf',[0,2,4]);
fuz2=addmf(fuz2,'input',2,'PM','trimf',[2,4,6]);
fuz2=addmf(fuz2,'input',2,'PB','trimf',[4,6,6]);
%设置控制变量U和三角形隶属函数
fuz2=addvar(fuz2,'output','u',[-7,7]);
fuz2=addmf(fuz2,'output',1,'NB','trimf',[-7,-7,-5]);
fuz2=addmf(fuz2,'output',1,'NM','trimf',[-7,-5,-3]);
fuz2=addmf(fuz2,'output',1,'NS','trimf',[-5,-3,-1]);
fuz2=addmf(fuz2,'output',1,'Z','trimf',[-2,0,2]);
fuz2=addmf(fuz2,'output',1,'PS','trimf',[1,3,5]);
fuz2=addmf(fuz2,'output',1,'PM','trimf',[3,5,7]);
fuz2=addmf(fuz2,'output',1,'PB','trimf',[5,7,7]);
rr=[ 7 7 6 5 5 5 5;
     7 6 5 5 5 5 5;
     6 5 5 5 4 4 4;
     5 5 4 4 4 3 3;
     5 5 4 4 4 3 3;
     4 4 4 3 3 3 2;
     3 3 3 3 3 2 1;
     3 3 3 3 2 1 1];
  r1=zeros(prod(size(rr)),3);
  k1=1;
  for i=1:size(rr,1)
    for j=1:size(rr,2)
     r1(k1,:)=[i,j,rr(i,j)];
     k1=k1+1;
     end
  end
  [r,s]=size(r1);
  r2=ones(r,2);
  rulelist=[r1,r2];
  fuz2=addrule(fuz2,rulelist);
% 设置去模糊方法(重心法)
  fuz2=setfis(fuz2,'DefuzzMethod','centroid');
%绘制FIS系统图形
plotfis(fuz2);
Ulist=zeros(13,14)
%建立控制表
for i=1:13
 for j=1:14
    e=-7+j;
 if (e<0)& (j<7); 
    e=e;
 elseif j==7; 
    e=-0.05;
 elseif j==8 
    e=0.05;
 else
    e=e-1;
 end
  ec=(i-7);
  Ulist(i,j)=evalfis([e,ec],fuz2);
   end
  end
  Ulist=ceil(Ulist)
  
  

    
    

⌨️ 快捷键说明

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