ind.asv

来自「用matlab语言编的基于粗糙集理论的属性约简程序」· ASV 代码 · 共 36 行

ASV
36
字号
function c=ind(a,x)%求取等价类
tic;
[arow,acol]=size(a);
for k=1:acol%取出a里对应的列形成新的矩阵,以后的操作也是相对于新矩阵的
    z(:,k)=x(:,a(1,k));
end
%clear a;
x=z;
[p,q]=size(x);%获得矩阵的行数和列数
c{1}='*';
% for m=1:p
%     c{m}=[];
% end
%a=[];
y=0
for i=1:p%对每行
    if intersect(a,[i])==0
        y=y+1
    for j=i:p%对每行
            if x(i,:)==x(j,:)%如果两行相等则加上一个等价类
              % if(c{i} )
             % c{y}
              if(c{y}=='*')
                  c{y}=[];
                  c{y+1}='*';
              end
                c{y}=cat(2,[c{y}],[j]);
            % c{j}=cat(2,[c{j}],[i]);
             a=cat(2,a,[j]);
            end
        end
    end
 %    c{i}=a(i,:);
 %    clear a;    
end 
toc;

⌨️ 快捷键说明

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