zzgz生成最终规则.m

来自「这是我自己编的从数据中自动提取模糊规则的程序,这个文件中包括了一个主程序和几个函」· M 代码 · 共 37 行

M
37 行
字号
function [R1,R1shu,qiangdu1]=zzgz(R,Rshu,qiangdu)
length1=size(R,1);
qiangdu1=zeros(1,length1);
n=1
flag=0;
R1shu=zeros(1,length1);
R1shu(1)=Rshu(1);
R1(1,:)=R(1,:);%对第一条规则赋值
qiangdu1(1)=qiangdu(1);
% 合并后见相同的规则
for i=2:length1
    P(i,:)=R(i,:);
    %判断规则是否相同,若前件相同取,取出现多的那条规则最为规则,数目相加,权重为出现多的那条规则的权重
    for j=1:n   
        Tf=(P(i,:)==R1(j,:))
          if Tf==[1 1 1 1 1 1 1 0] 
               flag=1; % 规则就有相同的前件
               if Rshu(i)>R1shu(j)
                  R1(j,:)=P(i,:);
                  R1shu(j)=R1shu(j)+Rshu(i)
                  qiangdu1(j)=qiangdu(i)
               end
              break
         else flag=0;
         end
     end
      if flag==0  %若规则前件不同则增加新规则
         n=n+1;
         R1(n,:)=P(i,:);
         R1shu(n)=Rshu(i);
         qiangdu1(n)=qiangdu(i) 
     end
 end      
b=size(R1,1);
R1shu=R1shu(1:b);
qiangdu1=qiangdu1(1:b);

⌨️ 快捷键说明

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