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

📄 qsgzqd起始规则确定(488个).m

📁 这是我自己编的从数据中自动提取模糊规则的程序,这个文件中包括了一个主程序和几个函数,能够自动提起模糊规则、合并优化模糊规则。
💻 M
字号:
function [R1,Rshu,qiangdu]=qsgzqd(Datax1,xcan,R)
% this function getout the genoral rules and it's number and strength
% Datax1 is the input data
% xcan is the first param of the mf
% R is the general rules maxtri
length1=size(R,1);
qiangdu=zeros(1,500);
qiangdu1=zeros(1,length1);
n=1;  %   模糊规则数
flag=0; 
Rshu=zeros(1,500);
Rshu(1)=1;
% 给出第一条模糊规则 
R1(1,:)=R(1,:);
qiangdu(1)=gaussmf(Datax1(1,1),xcan(R(1,1),:))*gaussmf(Datax1(1,2),xcan(R(1,2),:)) ...
  *gaussmf(Datax1(1,3),xcan(R(1,3),:))*gaussmf(Datax1(1,4),xcan(R(1,4),:)) ...
  *gaussmf(Datax1(1,5),xcan(R(1,5),:))*gaussmf(Datax1(1,6),xcan(R(1,6),:)) ...
  *gaussmf(Datax1(1,7),xcan(R(1,7),:))*gaussmf(Datax1(1,8),xcan(R(1,8),:));
for i=2:length1
    i
    P(i,:)=R(i,:);
    qiangdu1(i)=gaussmf(Datax1(i,1),xcan(R(i,1),:))*gaussmf(Datax1(i,2),xcan(R(i,2),:)) ...
                *gaussmf(Datax1(i,3),xcan(R(i,3),:))*gaussmf(Datax1(i,4),xcan(R(i,4),:)) ...
                *gaussmf(Datax1(i,5),xcan(R(i,5),:))*gaussmf(Datax1(i,6),xcan(R(i,6),:)) ...
                *gaussmf(Datax1(i,7),xcan(R(i,7),:))*gaussmf(Datax1(i,8),xcan(R(i,8),:));
       for j=1:n  
        %判断规则是否相同,若相同强度大为规则强度
        Tf=(P(i,:)==R1(j,:));
        if Tf==[1 1 1 1 1 1 1 1] 
            flag=1;                  % 规则相同判断
            R1(j,:)=P(i,:); 
            Rshu(j)=Rshu(j)+1;
            if  qiangdu1(i)>qiangdu(j)
                 qiangdu(j)=qiangdu1(i);
            end
            break
        else flag=0;
        end
       end
      if flag==0
       n=n+1;
       R1(n,:)=P(i,:);              %规则不同,增加新规则
       Rshu(n)=1;
       qiangdu(n)=qiangdu1(i);
   end      
end
y=size(R1,1);
Rshu=Rshu(1:y);
qiangdu=qiangdu(1:y);

⌨️ 快捷键说明

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