fcm_calcc.m

来自「FCM算法的matlab实现」· M 代码 · 共 32 行

M
32
字号
function Cmat = fcm_calcC(Xdat,C,mfuz,Umat);
%   function Cmat = fcm_calcC(Xdat,K,mfuz,Umat);
%
%   计算或者更新聚类中心矩阵(聚类原型模式矩阵)
%   
%   Xdat :原数据集,大小为(M,N)
%   C    :聚类数目
%   M:数据的个数,N:数据的维数
%   mfuz :加权指数m
%   Umat :模糊划分矩阵,大小为(C,M)
%   Cmat :聚类中心矩阵,大小为(C,N)
%
%   
%Umat=[1,2,3,4;5,6,7,8;9,10,11,12]
%Xdat=[1,0;0,1;2,2;1,1]
%C=3;
%mfuz=2;
[M,N] = size(Xdat);
for c=1:C
    tmp(c,:) = (Umat(c,:).^mfuz);
end

for c=1:C
    for m=1:M
    nume(m,:) = tmp(c,m)*Xdat(m,:);
    end
    deno = sum(tmp(c,:));
    snume=sum(nume);
    Cmat(c,:) = snume/deno;
end

return %% end of function fcm_calcC()

⌨️ 快捷键说明

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