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

📄 chap3_8.m

📁 用模糊控制方法逼近函数z=x+y
💻 M
字号:
%Sugeno type fuzzy model
clear all;
close all;

ts2=newfis('ts2','sugeno');

ts2=addvar(ts2,'input','X',[-2 2]);
ts2=addmf(ts2,'input',1,'NS','gaussmf',[0.5 -2]);
ts2=addmf(ts2,'input',1,'ZE','gaussmf',[0.5 0]);
ts2=addmf(ts2,'input',1,'PS','gaussmf',[0.5 2]);

ts2=addvar(ts2,'input','Y',[-1 1]);
ts2=addmf(ts2,'input',2,'NS','gaussmf',[0.2 -1]);
ts2=addmf(ts2,'input',2,'ZE','gaussmf',[0.2 0]);
ts2=addmf(ts2,'input',2,'PS','gaussmf',[0.2 1]);

ts2=addvar(ts2,'output','Z1',[-3 3]);
ts2=addmf(ts2,'output',1,'1','linear',[1 1 0]);


rulelist=[1 1 1 1 1;
          1 2 1 1 1;
          1 3 1 1 1;
          2 1 1 1 1;
          2 2 1 1 1;
          2 3 1 1 1;
          3 1 1 1 1;
          3 2 1 1 1;
          3 3 1 1 1];

ts2=addrule(ts2,rulelist)
showrule(ts2);


Ulist=zeros(8,4);

for i=1:5
   for j=1:3
      e(i)=i-3;
      ec(j)=j-2;
      Ulist(i,j)=evalfis([e(i),ec(j)],ts2);
   end
end
Ulist=ceil(Ulist);

%绘制出目标函数
x1=-2:0.02:2;
x2=-1:0.01:1;
[xx1,xx2]=meshgrid(x1,x2);
for i=1:length(x1)
    for j=1:length(x2)
        z1(i,j)=xx1(i,j)+xx2(i,j);
    end
end


figure(1)
mesh(xx1,xx2,z1);
title('原函数图');
figure(2); 
gensurf(ts2);
xlabel('x'),ylabel('y'),zlabel('z');
title('逼近函数图');

⌨️ 快捷键说明

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