A=[4.15 1.54 0.0448 0.1118 0.899 0.1005 0.0038 0.3378 0.6875 0.8972 0.0021 7913 66.12 0.0016 0.1317 68 1066 76 0.9585 2.86
4.76 3.03 0.0573 0.2389 0.6987 0.107 0.0044 0.2812 0.6467 0.9021 0.012 9177 85.32 0.0024 0.0941 85 1187 74 1.7871 2.72
5.49 3.28 0.0589 0.0764 0.8853 0.2064 0.0047 0.3593 0.6743 0.9063 0.0113 10272 88.41 0.0156 0.0989 94 1159 102 1.1353 2.57
8.77 4.5 0.0785 0.222 0.9025 0.4469 0.0031 0.3771 0.6995 0.9126 0.0135 11419 118.61 0.0227 0.0241 180 1641 163 2.5046 2.52
9.96 7.67 0.0865 0.125 0.8773 0.6543 0.005 0.3974 0.6758 0.9353 0.0171 12711 131.48 0.0456 0.0439 319 1582 185 4.28 2.31
10.91 15.4 0.1116 0.2842 0.858 0.4862 0.0078 0.336 0.6344 0.9481 0.0183 14172 155.24 0.0682 0.0539 474 1874 251 4.911 2.26
15.09 23.15 0.1334 0.2627 0.8957 0.5303 0.0045 0.4043 0.6699 0.9375 0.0146 16565 188.15 0.0225 0.0417 639 2225 348 7.9329 2.2
16.59 38.37 0.1545 0.2619 0.8811 0.5619 0.0061 0.1339 0.5851 0.9671 0.0145 20157 218.62 0.0081 0.0465 899 2449 464 10.92 2.11
16.02 44.91 0.1317 0.0888 0.8355 0.6167 0.0118 0.2629 0.6059 0.9859 0.0187 23524 190.44 0.0223 0.01 749 2161 421 10.7675 2
7.35 31.26 0.0778 -0.0696 0.6686 0.6997 0.0476 0.0972 0.6803 0.9227 0.0204 26743 115.84 0.0211 0.017 491 1273 245 9.5421 1.86
16.37 57.32 0.1184 0.306 0.7914 0.6367 0.0125 0.8223 0.4039 0.9864 0.0416 29096 177.48 0.0171 0.009 686 1818 443 14.0626 1.8
21.85 65.65 0.1098 0.0703 0.8171 0.6672 0.0094 0.1208 0.3966 1.0153 0.01 32092 164.7 0.0038 0.0079 1416 6503 716 14.7915 1.4
35.73 53.26 0.099 0.0124 0.7475 0.6044 0.0039 0.0645 0.3241 0.9732 0.0078 37679 147.71 0.0148 0.0063 1376 6218 660 10.2735 1.32
46.78 56.02 0.1005 0.1354 0.8947 0.7741 0.0023 0.1105 0.3566 1.1036 0.0113 42833 151.25 0.0043 0.0044 1274 6529 594 17.6762 1.26
53.31 33.18 0.0769 -0.2055 0.7964 0.7565 0.0038 0.0816 0.3459 0.925 0.0056 46960 116.89 0.0031 0.0019 945 5073 472 5.76 1.19
]
x=A(:,[1,2,3,4,5,6,7,8,10,11,12,13,14,15,19])'
y=A(:,[9,16,17,18,20])';
for i=1:15
x(i,:)=((x(i,:))-min(x(i,:)))/(max(x(i,:))-min(x(i,:)));
end
for i=1:5
y(i,:)=(max(y(i,:))-y(i,:))/(max(y(i,:))-min(y(i,:)));
end
A=[x',y']'
A=zscore(A);
B=[2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
]
A=A+B
%计算各指标的信息熵
[m,n]=size(A);
P=zeros(m,n);
Q=zeros(m,n);
lam=1/log(n);
H=zeros(m,1);
for i=1:m
P(i,:)=A(i,:)/sum(A(i,:));
for j=1:n
if P(i,j)~=0
Q(i,j)=P(i,j)*log(P(i,j));
end
end
H(i)=-lam*sum(Q(i,:));
end
%确定各指标的变异度
D=1-H;
%确定各指标熵权
W=D/sum(D);
disp(W);
z1=W(1:4)'*A([1:4],:)
z2=W(5:9)'*A([5:9],:)
z3=W(10:11)'*A([10:11],:)
z4=W(12:13)'*A([12:13],:)
z5=W(14)'*A([14],:)
z6=W(15:18)'*A([15:18],:)
z7=W(19:20)'*A([19:20],:)
z=W'*A
tt=[z1',z2',z3',z4',z5',z6',z7']