📄 07 粗糙集两类分类.txt
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%函数名称:CuCao2Class( )
%参数:class1:类号1;class2:类别2;sample:待测样品;rule:训练规则
%返回值:rusult:分类结果
%粗糙集两类分类
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function result=CuCao2Class(class1,class2,sample,rule);
sample=ceil(sample);%测试样品二值化
ruleNum=size(rule,1)-1;%规则数
xNum=size(rule,1)-1;%属性数
result=-1;
for i=1:ruleNum %匹配规则
flag=true;
for j=1:xNum
if(rule(i,j)=100&&sample(rule(ruleNum+1,j))=rule(i,j))
flag=false;
break;
end
end
if(flag)
result=rule(i,xNum+1);
break;
end
end
%找最相近的规则
if(result==-1)
ruleSel=zeros(1,ruleNum);
for i=1:ruleNum
for j=1:xNum
if(rule(i,j)=100&&sample(rule(ruleNum+1,j))=rule(i,j))
ruleSel(i)=ruleSel(i)+1;
end
end
end
[a b]=min(ruleSel);
result=rule(b,xNum+1);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -