clc
X=[80 10 6 2;50 1 6 4;90 6 4 6;40 5 7 3;10 1 2 4];
for j=1:4
zuida=max(X(:,j));
zuixiao=min(X(:,j));
for i=1:5
X(i,j)=X(i,j)/zuida;
end
end
%求模糊相似矩阵 最大最小法
R=zeros(5,5);
for i=1:5
for j=1:5
quxiao=0;
quda=0;
for k=1:4
quxiao=quxiao+min(X(i,k),X(j,k));
quda=quda+max(X(i,k),X(j,k));
R(i,j)=quxiao/quda;
end
end
end
%求传递闭包
a=size(R);
B=zeros(a);
flag=0;
while flag==0
for i= 1: a
for j= 1: a
for k=1:a
B( i , j ) = max(min( R( i , k) , R( k, j) ) , B( i , j ) ) ;%R与R内积,先取小再取大
end
end
end
if B==R
flag=1;
else
R=B;%循环计算R传递闭包
end
end
R
B=reshape(R,1,25);
B=unique(B);
B=sort(B)
C=size(B);
E=C(2);
D=zeros(5,5,E);
for k=1:E
for i=1:5
for j=1:5
if R(i,j)>=B(k)
D(i,j,k)=1;
else
D(i,j,k)=0;
end
end
end
end
D