1.模糊关系



function [rm] = step1_mission(samples)
%%%%%%%%%% Begin %%%%%%%%%%
[m,n] = size(samples);
formalMt = zeros(m,n);
rm = zeros(m,m);
% 矩阵进行正规化
minele = min(min(samples));
maxele = max(max(samples));
for mm =1:m
for nn = 1:n
formalMt = (samples-minele)/(maxele-minele);
end
end
% 欧式距离法计算模糊关系矩阵R
for mr = 1: m
for nc = 1: m
rm(mr,nc) = 1-sqrt(sum((formalMt(mr,:)-formalMt(nc,:)).^2)/n);
end
end
%%%%%%%%%% End %%%%%%%%%%
end
2.基于模糊等价关系的聚类方法




function [result0] = step2_mission(samples, lambda)
%%%%%%%%%% Begin %%%%%%%%%%
[m,n] = size(samples);
rm = step1_mission(samples);
result = zeros(m,m);
rm_save = zeros(m,m);
rm_ = rm;
flag = 1;
rm_new = zeros(m,m);
while(flag)
flag = 0;
for i = 1:m
for j = 1:m
if(i==j)
rm_(i,j) = 1;
else
rm_(i,j) = func1(rm_,i,j);
end
end
end
for i = 1:m
for j = 1:m
if(abs(rm_(i,j)-rm_save(i,j)) >= 0.00000001)
flag=1;
break;
end
end
if(flag)
break;
end
end
rm_save = rm_;
end
result0 = zeros(m,m);
for mr=1:m
for mc=1:m
if(rm_save(mr,mc)>lambda);
result0(mr,mc) = 1;
else
result0(mr,mc) = 0;
end
end
end
%%%%%%%%%% End %%%%%%%%%%
end
function [re] = func1(dis,i,j)
re = 0;
[m,m] = size(dis);
for t=1:m
if(dis(i,t) < dis(t,j))
td = dis(i,t);
else
td = dis(t,j);
end
if(re<td)
re = td;
end
end
end
function [rm] = step1_mission(samples)
%%%%%%%%%% Begin %%%%%%%%%%
[m,n] = size(samples);
formalMt = zeros(m,n);
rm = zeros(m,m);
% 矩阵进行正规化
minele = min(min(samples));
maxele = max(max(samples));
for mm =1:m
for nn = 1:n
formalMt = (samples-minele)/(maxele-minele);
end
end
% 欧式距离法计算模糊关系矩阵R
for mr = 1: m
for nc = 1: m
rm(mr,nc) = 1-sqrt(sum((formalMt(mr,:)-formalMt(nc,:)).^2)/n);
end
end
%%%%%%%%%% End %%%%%%%%%%
end
版权声明:本文为m0_46384757原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。