📄 zzgz生成最终规则.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -