%ÂÛÓòU
syms x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20
x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 x31 x32;
U=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20
x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 x31 x32];
%¾ö²ßÊôÐÔ¼¯ºÏ
X1=[x1 x2 x3 x4 x9 x10 x11 x12];
X2=[x5 x6 x7 x8 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27
x28 x29 x30 x31 x32];
%Ìõ¼þÊôÐÔ¼¯ºÏ
Y1=[x1 x2 x3 x4 x5 x6 x7 x8];
Y2=[x9 x10 x11 x12 x13 x14 x15 x16];
Y3=[x17 x18 x19 x20 x21 x22 x23 x24];
Y4=[x25 x26 x27 x28 x29 x30 x31 x32];
Z1=[x1 x2 x3 x4 x7 x8 x9 x10];
Z2=[x5 x6 x11 x12 x13 x14 x31 x32];
Z3=[x15 x16 x17 x18 x19 x20 x21 x22];
Z4=[x23 x24 x25 x26 x27 x28 x29 x30];
X=[X1 X2];
Y=[Y1 Y2 Y3 Y4];
Z=[Z1 Z2 Z3 Z4];
n1=[length(X1) length(X2) 0 0;
length(Y1) length(Y2) length(Y3) length(Y4);
length(Z1) length(Z2) length(Z3) length(Z4)]
length(intersect(X2,Z1)) length(intersect(X2,Z2))
length(intersect(X2,Y1)) length(intersect(X2,Y2))
n2=length(U)
%ÐÅÏ¢ìØ
for i=1:2
HD1(i)=-(n1(1,i)/length(U))*log2(n1(1,i)/length(U))
end
HD=sum(HD1)
A1=[length(intersect(X1,Y1)) length(intersect(X1,Y2))
length(intersect(X1,Y3)) length(intersect(X1,Y4));
length(intersect(X2,Y3)) length(intersect(X2,Y4))]
A2=[length(intersect(X1,Z1)) length(intersect(X1,Z2))
length(intersect(X1,Z3)) length(intersect(X1,Z4));
length(intersect(X2,Z3)) length(intersect(X2,Z4))]
%ÊôÐÔÒÀÀµ¶È
B1=[all(ismember(Y1,X1)) all(ismember(Y2,X1)) all(ismember(Y3,X1))
all(ismember(Y4,X1));
all(ismember(Y4,X2));]
B2=[all(ismember(Z1,X1)) all(ismember(Z2,X1)) all(ismember(Z3,X1))
all(ismember(Z4,X1));
all(ismember(Z4,X2))]
A=[A1(:)';A2(:)']
B=[B1(:)';B2(:)']
C=A.*B
SIG11=sum(C(1,:))/n2
SIG12=sum(C(2,:))/n2
%Ìõ¼þìØ
for i=1:2
all(ismember(Y1,X2)) all(ismember(Y2,X2)) all(ismember(Y3,X2))
all(ismember(Z1,X2)) all(ismember(Z2,X2)) all(ismember(Z3,X2))
for j=1:4
if A1(i,j)==0
HDC1(i,j)=0
HDC1(i,j)=-A1(i,j)/n2*log2(A1(i,j)/n2/((n1(2,j)/n2)))
else
end
end
end
HDC1=sum(HDC1)
HDC1=sum(HDC1)
SIGc1=HD-HDC1
for i=1:2
for j=1:4
if A2(i,j)==0
HDC2(i,j)=0
else
HDC2(i,j)=-A2(i,j)/n2*log2(A2(i,j)/n2/((n1(3,j)/n2)))
end
end
end
HDC2=sum(HDC2)
HDC2=sum(HDC2)
SIGc2=HD-HDC2
%¼ÓȨƽ¾ùÊôÐÔÖØÒª¶È
w=0.5
SIG1=w*SIG11+(1-w)*SIGc1
SIG2=w*SIG12+(1-w)*SIGc2