fcm_calcu.m
来自「FCM算法的matlab实现」· M 代码 · 共 38 行
M
38 行
function Umat = fcm_calcU(mfuz,Dmat);
% function Umat = fcm_calcU(mfuz,Dmat);
%
% 计算或者更新模糊划分矩阵
%
% mfuz :加权因子m
% Dmat :距离矩阵,大小为 (C,M),这里使用欧氏距离
% Umat :模糊划分矩阵,大小为(C,M)
%
%
[C,M] = size(Dmat);
for i=1:M
temp=0;
for k=1:C
if(Dmat(k,i)==0) temp=temp+1; end
end
if(temp==0)
for k=1:C
nume = Dmat(k,i);
deno = (nume./Dmat(:,i)).^(2/(mfuz-1));
Umat(k,i) = 1.0/sum(deno);
end
else
for k=1:C
if(Dmat(k,i)==0)
Umat(k,i)=1/temp;
else
Umat(k,i)=0;
end
end
end
end
return %% end of function fcm_calcU.m
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?