07 粗糙集两类分类.txt

来自「本程序的主要功能是实现多类别分类。首先获得任意两类的规则集」· 文本 代码 · 共 37 行

TXT
37
字号
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%函数名称: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 + =
减小字号Ctrl + -
显示快捷键?