• 大小: 3KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-07-20
  • 语言: Matlab
  • 标签: 模糊聚类  

资源简介

模糊聚类分析原始代码,如果需要阈值确定的matlab代码的话可以联系

资源截图

代码片段和文件信息

function F_JlDtjl(R)%定义函数
%模糊聚类分析动态聚类
%R模糊相似矩阵
[mn]=size(R);%获得矩阵的行列数
if(m~=n|m==0)return;end
for(i=1:n)R(ii)=1;%修正错误
    for(j=i+1:n)
        if(R(ij)<0)R(ij)=0;elseif(R(ij)>1)R(ij)=1;end
        R(ij)=round(10000*R(ij))/10000;%保留4位小数
        R(ji)=R(ij);
    end
end
js0=0;
while(1)%求传递闭包
    R1=Max_Min(RR);js0=js0+1;
    if(R1==R)break;else R=R1;end
end
lmd(1)=1;k=1;
    for(i=1:n)for(j=i+1:n)pd=1;%找出所有不相同的元素
            for(x=1:k)if(R(ij)==lmd(x))pd=0;break;end;end
            if(pd)k=k+1;lmd(k)=R(ij);end
        end;end
    for(i=1:k-1)for(j=i+1:k)if(lmd(i)                x=lmd(j);lmd(j)=lmd(i);lmd(i)=x;
            end;end;end
    for(x=1:k)%按lmd(x)分类,分类树为flsz(x)临时用Sz记录元素的序号
        js=0;flsz(x)=0;
        for(i=1:n)pd=1;
            for(y=1:js)if(Sz(y)==i)pd=0;break;end;end
            if(pd)
                for(j=1:n)if(R(ij)>=lmd(x))js=js+1;Sz(js)=j;end;end
                flsz(x)=flsz(x)+1;
            end
        end
    end
    for(i=1:k-1)for(j=i+1:k)if(flsz(j)==flsz(i))flsz(j)=0;end;end;end
    fl=0;%排除相同的分类
    for(i=1:k)if(flsz(i))fl=fl+1;lmd(fl)=lmd(i);end;end
    for(i=1:n)xhsz(i)=i;end
    for(x=1:fl)%获得分类情况:对分类元素进行排序
        js=0;flsz(x)=0;
        for(i=1:n)pd=1;
            for(y=1:js)if(Sz(y)==i)pd=0;break;end;end
            if(pd)if(js==0)y=0;end
                for(j=1:n)if(R(ij)>=lmd(x))js=js+1;Sz(js)=j;end;end
                flsz(x)=flsz(x)+1;
                Sz0(flsz(x))=js-y;
            end
        end
        js0=0;
        for(i=1:flsz(x))
            for(j=1:Sz0(i))Sz1(j)=Sz(js0+j);end
            for(j=1:n)for(y=1:Sz0(i))if(xhsz(j)==Sz1(y))js0=js0+1;Sz(js0)=xhsz(j);end;end;end
        end
        for(i=1:n)xhsz(i)=Sz(i);end
    end
    for(x=1:fl)%获得分类情况:每一子类的元素个数
        js=0;flsz(x)=0;
        for(i=1:n)pd=1;
            for(y=1:js)if(Sz(y)==i)pd=0;break;end;end
            if(pd)if(js==0)y=0;end
                for(j=1:n)if(R(ij)>=lmd(x))js=js+1;Sz(js)=j;end;end
                flsz(x)=flsz(x)+1;Sz0(flsz(x))=js-y;
            end
        end
        js0=1;
        for(i=1:flsz(x))y=1;
            for(j=1:flsz(x))
                if(Sz(y)==xhsz(js0))flqksz(xi)=Sz0(j);js0=js0+Sz0(j);break;end
                y=y+Sz0(j);
            end
        end
    end
    F_dtjltx=figure(‘name‘‘动态聚类图‘‘color‘‘w‘);
    axis(‘off‘);
    Kd=30;Gd=40;y=fl*Gd+Gd;lx=80;
    text(24y+Gd/2‘λ‘);
    for(i=1:n)
        text(lx-5+i*Kd-0.4*Kd*(xhsz(i)>9)y+Gd/2int2str(xhsz(i)));
        line([lx+i*Kdlx+i*Kd][yy-Gd]);
        linesz(i)=lx+i*Kd;
    end
    text(lx*1.5+i*Kdy+Gd/2‘分类数‘);
    y=y-Gd;
    for(x=1:fl)
        text(8y-Gd/2num2str(lmd(x)));
        js0=1;js1=0;
        if(x==1)
            for(i=1:flsz(x))
                js1=flqksz(xi)-1;
                if(js1)line([linesz(js0)linesz(js0+js1)][yy]);end
                line([(linesz(js0+js1)+linesz(js0))/2(linesz(js0+js1)+linesz(js0))/2

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3823  2011-09-09 02:52  模糊聚类分析\F_JlDtjl.m

     文件        193  2011-09-09 02:52  模糊聚类分析\F_Jlfx.m

     文件       4209  2011-09-08 14:29  模糊聚类分析\F_JlR.m

     文件        651  2011-09-08 13:39  模糊聚类分析\F_JlSjBzh.m

     文件        424  2011-09-08 14:17  模糊聚类分析\Max_Min.m

     目录          0  2012-10-09 18:56  模糊聚类分析

----------- ---------  ---------- -----  ----

                 9300                    6


评论

共有 条评论