首页 新闻 会员 周边

MATLAB模糊PI控制

0
悬赏园豆:30 [待解决问题]

a=mamfis('fuzzpid'); %新建模糊推理系统
a=addInput(a,'input','e',[-6,6]); %Parameter e 添加模糊语言变量
a=addMF(a,'input',1,'NB','trimf',[-8,-6,-4]);
a=addMF(a,'input',1,'NM','trimf',[-6,-4,-2]); %添加
a=addMF(a,'input',1,'NS','trimf',[-4,-2,0]);
a=addMF(a,'input',1,'Z','trimf',[-2,0,2]); % 三角形的隶属函数
a=addMF(a,'input',1,'PS','trimf',[0,2,4]);
a=addMF(a,'input',1,'PM','trimf',[2,4,6]);
a=addMF(a,'input',1,'PB','trimf',[4,6,8]);

a=addInput(a,'input','ec',[-6,6]); %Parameter ec 添加模糊语言变量
a=addMF(a,'input',2,'NB','trimf',[-8,-6,-4]);
a=addMF(a,'input',2,'NM','trimf',[-6,-4,-2]); %添加
a=addMF(a,'input',2,'NS','trimf',[-4,-2,0]);
a=addMF(a,'input',2,'Z','trimf',[-2,0,2]); % 三角形的隶属函数
a=addMF(a,'input',2,'PS','trimf',[0,2,4]);
a=addMF(a,'input',2,'PM','trimf',[2,4,6]);
a=addMF(a,'input',2,'PB','trimf',[4,6,8]);

a=addOutput(a,'output','kp',[0,1]); %Parameter kp
a=addMF(a,'output',1,'NB','gaussmf',[0.07079,1.735e-18]);
a=addMF(a,'output',1,'NM','trimf', [0,0.1667,0.3333]);
a=addMF(a,'output',1,'NS','trimf', [0.1667,0.3333,0.5]);
a=addMF(a,'output',1,'Z','trimf', [0.3333,0.5,0.6667]);
a=addMF(a,'output',1,'PS','trimf',[0.497,0.664,0.831]);
a=addMF(a,'output',1,'PM','trimf',[0.6667,0.8333,1]);
a=addMF(a,'output',1,'PB','gaussmf', [0.07104,1]);

a=addOutput(a,'output','ki',[0,1]); %Parameter ki
a=addMF(a,'output',2,'NB','gaussmf',[0.07079,1.735e-18]);
a=addMF(a,'output',2,'NM','trimf', [0,0.1667,0.3333]);
a=addMF(a,'output',2,'NS','trimf', [0.1667,0.3333,0.5]);
a=addMF(a,'output',2,'Z','trimf', [0.3333,0.5,0.6667]);
a=addMF(a,'output',2,'PS','trimf',[0.497,0.664,0.831]);
a=addMF(a,'output',2,'PM','trimf',[0.6667,0.8333,1]);
a=addMF(a,'output',2,'PB','gaussmf', [0.07104,1]);

rulelist=[1 1 7 1 1 1;
1 2 7 2 1 1;
1 3 6 2 1 1;
1 4 6 2 1 1;
1 5 5 3 1 1;
1 6 4 3 1 1;
1 7 4 4 1 1;

      2 1 7 1 1 1;
      2 2 7 1 1 1;
      2 3 6 2 1 1;
      2 4 5 3 1 1;
      2 5 5 3 1 1;
      2 6 4 4 1 1;
      2 7 3 5 1 1;
      
      3 1 7 1 1 1;
      3 2 6 2 1 1;
      3 3 6 3 1 1;
      3 4 5 3 1 1;
      3 5 4 4 1 1;
      3 6 3 5 1 1;
      3 7 3 6 1 1;
      
      4 1 6 2 1 1;
      4 2 6 3 1 1;
      4 3 5 3 1 1;
      4 4 4 4 1 1;
      4 5 3 5 1 1;
      4 6 2 6 1 1;
      4 7 1 6 1 1;
      
      5 1 5 3 1 1;
      5 2 5 4 1 1; 
      5 3 4 4 1 1; 
      5 5 3 5 1 1;
      5 6 2 6 1 1;
      5 7 1 7 1 1;
      
      6 1 5 4 1 1;
      6 2 4 5 1 1;
      6 3 3 5 1 1;
      6 4 2 6 1 1;
      6 5 2 6 1 1;
      6 6 2 7 1 1;
      6 7 1 7 1 1;
      
      7 1 4 4 1 1;
      7 2 4 5 1 1;
      7 3 2 6 1 1;
      7 4 2 6 1 1;
      7 5 2 6 1 1;
      7 6 1 7 1 1;
      7 7 1 7 1 1];

a=addRule(a,rulelist); %添加模糊规则函数
a=FIS(a,'DefuzzMethod','mom'); %设置模糊推理特性
writeFIS(a,'fuzzpid'); %保存模糊推理系统
a=readfis('fuzzpid');%从磁盘读模糊推理系统

有没有大佬忙看一下这个问题?
MATLAB版本:R2020a
MATLAB问题

rosy_yt的主页 rosy_yt | 初学一级 | 园豆:172
提问于:2026-03-23 21:34
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册