精华内容
下载资源
问答
  • 模糊聚类matlab
    2021-04-21 10:11:36

    《matlab模糊聚类程序》由会员分享,可在线阅读,更多相关《matlab模糊聚类程序(17页珍藏版)》请在人人文库网上搜索。

    1、实用标准文档文案大全3数据标准化(1)数据矩阵设论域U二伪必匹,庞,沧,冷必压必0,为1必2为被分类的对象,每个对象又由指标Y=%,%,%,%,%,丫6,%,%9表示其性状即Xi =冷,x2, x3, x4, x5,xi6,xi7,為 Xi9, XlOXll,冷分(i = 1,2,12)于是得到原是数据矩阵7525013421217821923843783295965372054132653133136212312181417869112781043694314723253611121124616A=10132535286524138942867882032916951587249304837。

    2、1463279112692896979294993275464241723114918795121838(2)数据标准化将模糊矩阵的每一个数据压缩到0,1上,采用平移.极差变换进行数据标准B(i,k)=A(i,k)- mjn A(i,k)1 i nmaxA(i,k)- m.in A(i,k)(k=1,2,m)运用matlab编程由函数Fisjbzh.m【见附录3.4】的标准化矩阵是附录3.4fun ctio n X=F_JISjBzh(cs,X)%模糊聚类分析数据标准化变换%X 原始数据矩阵; cs=0 ,不变换; cs=1 ,标准差变换 %cs=2, 极差变换 if(cs=0) return。

    3、 ;endn,m=size(X);% 获得矩阵的行列数 if(cs=1) % 平移极差变换for(k=1:m) xk=0;for(i=1:n) xk=xk+X(i,k);end xk=xk/n;sk=0;for(i=1: n) sk=sk+(X(i,k)-xkF2;e nd sk=sqrt(sk/n);for(i=1:n) X(i,k)=(X(i,k)-xk)/sk;endendelse % 平移 * 极差变换for(k=1:m) xmin=X(1,k);xmax=X(1,k);for(i=1:n)if(xminX(i,k) xmin=X(i,k);end if(xmax 传递闭包法根据标定所。

    4、得的模糊矩阵,只是一个模糊相似矩阵R,不一定具有传递性,即 R 不一定是模糊等价矩阵,还需要对其改造成模糊等价矩阵R ,根据定理,用二次方法求传递闭包t (R), t ( R)就是所求模糊等价矩阵R,即:t (R)=R ,再让 由大变到小,就可形成动态聚类图。通过 matlab 软件编的函数 F_JIDtjl.m 【见附录 3.6 】,得到动态聚类图或 者直接运用 matlab 软件编的函数 F_Jlfx.m 【见附录 3.7】,运行 F_Jlfx(2,8,A) 得 动态聚类图是:附录 3.6 :function F_JIDtjl(R)% 定义函数%模糊聚类分析动态聚类%R 模糊相似矩阵m,n。

    5、=size(R);% 获得矩阵的行列数if(m=n|m=0) return ;endfor(i=1:n) R(i,i)=1;% 修正错误for(j=i+1:n)if(R(i,j)1) R(i,j)=1;endR(i,j)=round(10000*R(i,j)/10000;% 保留四位小数 R(j,i)=R(i,j);endendjs0=0;while(1)% 求传递闭包R1=Max_Min(R,R);% 【见附录 3.6.1 】js0=js0+1;if(R1=R) break;else R=R1;endendImd(1)=1;k=1;for(i=1:n) for(j=i+1:n) pd=1;%。

    6、 找出所有不相同的元素for(x=1:k)if(R(i,j)=Imd(x) pd=0;break;end;endif(pd) k=k+1;Imd(k)=R(i,j);endend;endfor(i=1:k-1) for(j=i+1:k)if(Imd(i)=Imd(x) js=js+1;Sz(js)=j;end;end flsz(x)=flsz(x)+1;endendendfor(i=1:k-1)for(j=i+1:k)if(flsz(j)=flsz(i) flsz( j)=0;end;end;endfl=0;% 排除相同的分类for(i=1:k) if(flsz(i) fl=fl+1;Imd(。

    7、fl)=Imd(i);end;endfor(i=1:n) xhsz(i)=i;endfor(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;endif(pd) if(js=0) y=0;endfor(j=1:n) if(R(i,j)=Imd(x) js=js+1;Sz(js)=j;end;endflsz(x)=flsz(x)+1;Sz0(flsz(x)=js-y;endendjs0=0;for(i=1:flsz(x)for(j=1:Sz0(i) Sz1(。

    8、j)=Sz(js0+j);endfor(j=1:n) for(y=1:Sz0(i)if(xhsz(j)=Sz1(y)js0=js0+1;Sz(js0)=xhsz(j);end;end;endendfor(i=1:n) xhsz(i)=Sz(i);endendfor(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;endif(pd) if(js=0) y=0;endfor(j=1:n) if(R(i,j)=Imd(x) js=js+1;Sz(js)=j;e。

    9、nd;endflsz(x)=flsz(x)+1;Sz0(flsz(x)=js-y;endendjs0=1;for(i=1:flsz(x) y=1;for(j=1:flsz(x)if(Sz(y)=xhsz(js0)flqksz(x,i)=Sz0(j);js0=js0+Sz0(j);break;endy=y+Sz0(j);endendendF_dtjltx=figure(name, 动态聚类图 ,color,w);axis(off);Kd=30;Gd=40;y=fl*Gd+Gd;lx=80;text(24,y+Gd/2, 心;for(i=1:n)text(lx-5+i*Kd-0.4*Kd*(xhs。

    10、z(i)9),y+Gd/2,int2str(xhsz(i);line(lx+i*Kd,lx+i*Kd,y,y-Gd);linesz(i)=lx+i*Kd;endtext(lx*1.5+i*Kd,y+Gd/2, 分类数 );y=y-Gd;for(x=1:fl)text(8,y-Gd/2,num2str(Imd(x);js0=1;js1=0;if(x=1)for(i=1:flsz(x)js1=flqksz(x,i)-1;if(js1) line(linesz(js0),linesz(js0+js1),y,y);endline(linesz(js0+js1)+linesz(js0)/2,(lines。

    11、z(js0+js1)+linesz(js0)/2,y,y-Gd);linesz(i)=(linesz(js0+js1)+linesz(js0)/2;js0=js0+js1+1;endelse for(i=1:flsz(x)js1=js1+flqksz(x,i);js2=0;pd=0;for(j=1:flsz(x-1)js2=js2+flqksz(x-1,j);if(js2=js1) pd=1;break;endend if(j=js0)line(linesz(js0),linesz(j),y,y);end line(linesz(js0)+linesz(j)/2,(linesz(js0)+li。

    12、nesz(j)/2,y,y-Gd);linesz(i)=(linesz(js0)+linesz(j)/2;js0=j+1;end;endtext(2*lx+n*Kd,y-Gd/3,int2str(flsz(x);y=y-Gd;end图六:动态聚类图根据动态聚类图,选定不同的的值,将就可以得到不同的分类121110987S附录3.5 :(仅附录了一段用到的程序)fun ctio n R=F _ji r(cs,X)%cs=8,直接欧几里得距离法%cs=9,直接海明距离法(绝对值减数法)%cs=10,直接切比雪夫距离法elseif(cs=10)C=0;for(i=1: n)for(j=i+1: n)。

    13、d=0;%直接欧几里得距离法if(cs=8)for(k=1:m)d=d+(X(i,k)-X(j,k)F2;endd=sqrt(d);%直接海明距离法elseif(cs=9)for(k=1:m)d=d+abs(X(i,k)-X(j,k);end%直接切比雪夫距离法elsefor(k=1:m)if(dabs(X(i,k)-X(j,k)d=abs(X(i,k)-X(j,k);endendendif(Cd)C=d;endendendC=1/(1+C);for(i=1:n)for(j=1:n)d=0;%直接欧几里得距离法if(cs=8)for(k=1:m)d=d+(X(i,k)-X(j,k)F2;end。

    14、d=sqrt(d);%直接海明距离法elseif(cs=9) for(k=1:m)d=d+abs(X(i,k)-X(j,k);end%直接切比雪夫距离法else for(k=1:m)if(dabs(X(i,k)-X(j,k)d=abs(X(i,k)-X(j,k);endendendR(i,j)=1-C*d;endend附录 3.6.1function C=Max_Min(A,B)%模糊矩阵的合成运算,先取大,后取小m,s=size(A);s1,n=size(B);C=;if(s1=s) return ;endfor(i=1:m) for(j=1:n) C(i,j)=0;for(k=1:s) x=0;if(A(i,k)B(k,j) x=A(i,k);else x=B(k,j);endif(C(i,j)x) C(i,j)=x;endendend;end附录 3.7 :function F_jlfx(bzh,fa,X)X 原始数据矩阵%模糊聚类分析%bah 数据标准型; fa 建立模糊相似矩阵的方法;X=F_jisjbzh(bzh,X);R=F_jir(fa,X);m,n=size(R);if(m=n|m=0)return;endF_JIDtjl(R。

    更多相关内容
  • 模糊聚类matlab程序

    2019-01-25 15:07:20
    积分最低,模糊聚类matlab程序,里面有相关系数法聚类,欧几里得法等聚类方法
  • FCM模糊聚类matlab代码

    2018-07-22 17:32:55
    FCM模糊聚类matlab代码,function [C, dist, J] = fcm(X, k, b)
  • 模糊聚类matlab实现,算例木有,第一次加入本网站,希望能与大佬们多多学习。
  • 模糊聚类MATLAB代码
  • 模糊C均值聚类matlab程序,简单易懂,程序可以运行。
  • 模糊函数的matlab代码贝叶斯模糊聚类 贝叶斯模糊聚类算法的Matlab实现。 使用时请引用此代码:Taylor Glenn,Alina Zare和Paul Gader。 (2019年4月12日)。 GatorSense / BayesianFuzzyClustering:初始发行版...
  • 模糊聚类matlab代码和讲解
  • 计算隶属度矩阵和聚类中心,使得目标函数最小%算法步骤:初始化聚类中心,然后计算每一个样本对于每一类的隶属度,最终得到隶属度矩阵mu(i
  • 智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真代码
  • 【图像分割】基于蚁群优化模糊聚类的图像分割matlab源码.md
  • 模糊聚类-matlab实现 %模糊聚类% clear; load F:\从0开始\数据\data.txt; INPUTDATA=data; %--------原始数据标准化-------% disp'请选择原始数据标准化方式: ; disp总和标准化|2-标准差标准化|3-极大值标准化|4-极...
  • fcm模糊聚类matlab程序

    2013-05-24 20:15:06
    聚类中心生成,主程序fcm(data,n)在command窗口运行,data为需要生成聚类中心的数据调用,n为生成多少组聚类中心随便看自己需要。
  • 模糊聚类MATLAB程序

    热门讨论 2010-12-08 00:04:28
    FCM模糊局问题,自带数据 文件:clust_denormalize.m;clust_normalize.m;clusteval.m;FCMclust.m;FuzSam.m等
  • 【工控老马出品,必属精品,亲测...资源名:matlab实现模糊聚类法程序源码.zip 资源类型:程序源代码 源码说明: 基于 matlab实现模糊聚类法程序 包含完整代码 非常适合借鉴学习 适合人群:新手及有一定经验的开发人员
  • %模糊聚类程序 function f=mujl(x,lamda) %输入原始数据以及lamda的值 if lamda>1 disp('error!') %错误处理 end [n,m]=size(x); xmax=max(x);xmin=min(x); x=(x-xmin(ones(n,1),:))./(xmax(ones(n,1),:)-xmin...
  • 模糊聚类 MATLAB
  • 利用MATLAB模糊聚类,并且画出系谱图
  • 模糊聚类+Matlab代码

    千次阅读 2021-04-19 06:57:22
    算法原理Matlab代码%根据lambda截集,模糊聚类clear;x = [80,10,6,2;50,1,6,4;90,6,4,6;40,5,7,3;10,1,2,4]; %样本row = size(x,1); %样本个数x2 = bz(x); %标准化R = gm(x2); %构造模糊相似矩阵biBao = transBiBao...

    算法原理

    Matlab代码

    %根据lambda截集,模糊聚类

    clear;

    x = [80,10,6,2;

    50,1,6,4;

    90,6,4,6;

    40,5,7,3;

    10,1,2,4]; %样本

    row = size(x,1); %样本个数

    x2 = bz(x); %标准化

    R = gm(x2); %构造模糊相似矩阵

    biBao = transBiBao(R); %求传递闭包

    [L,J] = lambdaJie(biBao); %截集

    [T] = juLei(L,J,row); %聚类

    H = dendrogram(T); %绘制聚类谱系图

    function [x2] = bz(x)

    %最大值标准化

    temp = max(x);

    x2 = x./temp;

    end

    function [R] = gm(x2)

    %最大最小法构造模糊相似矩阵

    row = size(x2,1);

    R = zeros(row,row);

    for i = 1:row

    for j = 1:row

    R(i,j) = sum(jiao(x2(i,:),x2(j,:)))/sum(bing(x2(i,:),x2(j,:)));

    end

    end

    end

    function [Z] = jiao(X,Y)

    %两个矩阵交

    [row,col] = size(X);

    Z = zeros(row,col);

    for i = 1:row

    Z(i,:) = min([X(i,:);Y(i,:)]);

    end

    end

    function [Z] = bing(X,Y)

    %并

    [row,col] = size(X);

    Z = zeros(row,col);

    for i = 1:row

    Z(i,:) = max([X(i,:);Y(i,:)]);

    end

    end

    function [Ystar] = heCheng(X,R)

    %合成

    rowX = size(X,1);

    colR = size(R,2);

    Ystar = zeros(rowX,colR);

    for i = 1:rowX

    for j = 1:colR

    Ystar(i,j) = max(min([X(i,:);R(:,j)']));

    end

    end

    end

    function [biBao] = transBiBao(X)

    %传递背包

    Y = heCheng(X,X);

    while Y ~= X

    X = Y;

    Y = heCheng(X,X);

    end

    biBao = Y;

    biBao = biBao-diag(diag(biBao))+eye(size(biBao));

    end

    function [lambda,jieMatrix] = lambdaJie(X)

    %lambda截集

    lambda = unique(X);

    len = length(lambda);

    jieMatrix = zeros([size(X),len]);

    for i = 1:len

    temp = X;

    temp(X<=lambda(i)) = 0;

    temp(X>=lambda(i)) = 1;

    jieMatrix(:,:,i) = temp;

    end

    end

    function [Z] = juLei(L,J,geShu)

    %聚类

    len = size(J,3); %聚类次数

    mark = [-1,-1,-1]; %暂时生成,记录每次聚类的两个对象及此使的lambda

    for i=len:-1:1 %从独自一类到全部一类

    mat = triu(J(:,:,i)); %选择上三角矩阵

    [row,col] = find(mat==1);

    temp = [row,col]; %聚类的两个对象

    panDuan = [mark;[temp,ones(size(temp,1),1)*L(i)]]; %lambda

    [~,temp2] = unique(panDuan(:,1:2),'rows'); %去重

    mark = panDuan(temp2,:);

    end

    mark = mark(2:end,:); %将第一个去掉

    mark(:,3) = 1-mark(:,3); %lambda反转

    T = sortrows(mark,3); %排序

    T = T(geShu+1:end,:); %将独自一类的去掉

    B = T(:,1:2); %不选择lambda

    len = size(B,1);

    visited = [];

    Y = 1:2; %为之后setdiff做准备

    Z = []; %为dendrogram做准备

    flag = geShu+1; %加上中间过程类的数目,不断递增

    for i=1:len

    temp1 = B(i,:);

    [C,ia] = setdiff(temp1,visited); %没有出现过的记录下来

    if length(C) == 2

    Z = [Z;[temp1,T(i,3)]];

    elseif length(C) == 1 %重复的标记为flag

    temp2 = setdiff(Y,ia);

    temp1(temp2)= flag;

    flag=flag+1;

    Z = [Z;[temp1,T(i,3)]];

    end

    visited = [visited,C];

    end

    end

    运行结果

    710bf909d505193df77e29deb45821b4.png

    展开全文
  • 用FMC 算法实现基于目标函数的模糊聚类又称交替的迭代优化法。迭代优化本质上属于局部搜索的爬山法,很容易陷入局部极值点,因此对初始化很敏感。通常是根据一定的经验准则选取初始参数,这样计算结果与初始参数设置...

    1.软件版本

    MATLAB2013b

    2.本算法理论知识

           用FMC 算法实现基于目标函数的模糊聚类又称交替的迭代优化法。迭代优化本质上属于局部搜索的爬山法,很容易陷入局部极值点,因此对初始化很敏感。通常是根据一定的经验准则选取初始参数,这样计算结果与初始参数设置是否恰当密切相关。特别是在数据量较大和高维情况下,设置合理的参数非常困难,只能通过多次实验比较选定。由于初始聚类中心和样本的输入次序对最终的结果有重大影响,往往是用若干不同的初始中心和聚类数目分别聚类,然后选择最满意的聚类作为最终的结果。 通过蚁群算法,我们可以得到最佳的初始聚类中心,然后进行快速的聚类。

    3.部分核心代码

    clc;
    clear;
    close all;
    warning off;
    pack;
    addpath 'func\'
    
    %模拟数据
    MAX_ITER  = 1000;%最大迭代次数
    Class_Num = 5;  %样本类别数
    Nums      = 100 ;%样本数目
    seek      = 2;  %数据类别
    figure;
    POS       = func_node_gen(Class_Num,Nums,seek);
    %数据
    data      = POS(:,1:2);
    
    %首先进行蚁群算法进行优化,获得最佳的初始聚类中心点
    cluster_center = func_ant_opt(data,Class_Num);
    
    %通过模糊聚类算法进行聚类
    [U,P]=func_FCM(data,cluster_center,Class_Num,MAX_ITER);
    
    
    %两个算法的对比
    figure;
    load result.mat
    plot(Obj_Fcn(2:end),'b-','LineWidth',2);
    hold on;
    load ..\FCM\result.mat
    plot(Obj_Fcn(2:end),'r-','LineWidth',2);
    hold off
    legend('蚁群FCM','FCM');
    axis([0,400,105,125]);
    grid on;
    xlabel('迭代次数');
    ylabel('聚类误差值');
    
    
    
    
    
    
    
     

    4.操作步骤与仿真结论

     

     

    两个算法对比如下所示:

     

    通过对比可知,改进后的算法性能明显提升了。

    5.参考文献

    [1]苗京, 黄红星, 程卫生,等. 基于蚁群模糊聚类算法的图像边缘检测[J]. 武汉大学学报:工学版, 2005, 38(5):4.A06-11

    展开全文
  • 蚁群算法matlab代码基于蚁群的聚类 MATLAB 中基于蚁群的聚类 描述 MATLAB 代码 ACOmain.m 是一个简单的 ACO 算法实现,使用 4 个高斯分布的合成数据集进行编码。 运行时的代码提供了处理数据的蚁群的漂亮可视化。 ...
  • 通过matlab对fcm模糊聚类分析进行了代码实现。代码简单适合初学者。
  • 运用matlab进行模糊聚类分析步骤如下:建立数据矩阵;数据标准化;建立模糊相似矩阵;改造相似关系为等价关系;确定分类数
  • matlab模糊聚类程序-FCM.m 一个 matlab 模糊聚类程序 与大家分享 运行结果: Figure8.jpg
  • matlab实现模糊C均值聚类,附带包含600个2维数据的数据集,可视化展示结果。数据集有3类,分别分布在第一、二 三象限。
  • 样本加权模糊聚类,可用于各种功能,只需改变输入即可
  • MATLAB----模糊聚类

    2022-04-16 14:15:38
    data=[1739.94 1675.15 2395.96 3 373.3 3087.05 2429.47 4 1756.77 1652 1514.98 3 864.45 1647.31 2665.9 1 222.85 3059.54 2002.33 4 877.88 2031.66 3071.18 1 1803.58 1583.12 2163.05 3 ...

    在这里插入图片描述

    
    data=[1739.94  1675.15  2395.96 3
    373.3  	3087.05  	2429.47 4
    1756.77 	1652   	1514.98 3
    864.45  	1647.31  	2665.9  1
    222.85  	3059.54  	2002.33 4
    877.88  	2031.66  	3071.18 1
    1803.58 	1583.12  	2163.05 3
    2352.12 	2557.04 	1411.53 2
    401.3  	3259.94 	2150.98 4
    363.34  	3477.95 	2462.86 4
    1571.17 	1731.04 	1735.33 3
    104.8  	3389.83 	2421.83 4
    499.85  	3305.75 	2196.22 4
    2297.28 	3340.14 	535.62  2
    2092.62 	3177.21 	584.32  2
    1418.79 	1775.89 	2772.9  1
    1845.59 	1918.81 	2226.49 3
    2205.36 	3243.74 	1202.69 2
    2949.16 	3244.44 	662.42  2
    1692.62 	1867.5  	2108.97 3
    1680.67 	1575.78 	1725.1  3
    2802.88 	3017.11 	1984.98 2
    172.78  	3084.49 	2328.65 4
    2063.54 	3199.76 	1257.21 2
    1449.58 	641.58 	3405.12 1
    1651.52 	1713.28 	1570.38 3
    341.59  	3076.62 	2438.63 4
    291.02  	3095.68 	2088.95 4
    237.63  	3077.78 	2251.96 4
    ];
    stem(data(:,1),data(:,4),'*','r');
    title('数据A与输出的关系图');
    xlabel('数据A');
    ylabel('输出分类');
    
    

    在这里插入图片描述

    clear all;
    data=[1739.94   1675.15 2395.96 3
    373.3 	3087.05 	2429.47 4
    1756.77 	1652  	1514.98 3
    864.45  	1647.31 	2665.9  1
    222.85  	3059.54 	2002.33 4
    877.88  	2031.66 	3071.18 1
    1803.58 	1583.12 	2163.05 3
    2352.12 	2557.04 	1411.53 2
    401.3   	3259.94 	2150.98 4
    363.34  	3477.95 	2462.86 4
    1571.17 	1731.04 	1735.33 3
    104.8   	3389.83 	2421.83 4
    499.85  	3305.75 	2196.22 4
    2297.28 	3340.14 	535.62  2
    2092.62 	3177.21 	584.32  2
    1418.79 	1775.89 	2772.9  1
    1845.59 	1918.81 	2226.49 3
    2205.36 	3243.74 	1202.69 2
    2949.16 	3244.44 	662.42  2
    1692.62 	1867.5  	2108.97 3
    1680.67 	1575.78 	1725.1  3
    2802.88 	3017.11 	1984.98 2
    172.78  	3084.49 	2328.65 4
    2063.54 	3199.76 	1257.21 2
    1449.58 	1641.58 	3405.12 1
    1651.52 	1713.28 	1570.38 3
    341.59  	3076.62 	2438.63 4
    291.02  	3095.68 	2088.95 4
    237.63  	3077.78 	2251.96 4
    ];
    subplot(1,2,1);
    stem(data(:,2),data(:,4),'g','s');
    title('数据A与输出的关系图');
    xlabel('数据B');
    ylabel('输出分类');
    subplot(1,2,2);
    stem(data(:,3),data(:,4),'b','o');
    title('数据A与输出的关系图');
    xlabel('数据C');
    yabel('输出分类');
    
    
    展开全文
  • 基于MATLAB模糊聚类

    千次阅读 2021-06-04 09:51:03
    基于MATLAB实现模糊模糊聚类。 2 实验内容 (1)计算样本或变量间的相似系数,建立模糊相似矩阵; (2)利用模糊运算对相似矩阵进行一系列的合成改造,生成模糊等价矩阵; (3)最后根据不同的截取水平λ对模糊...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,108
精华内容 1,243
关键字:

模糊聚类matlab

matlab 订阅