|
x=[]
x=x0;
[m,n]=size(x)
% 正向指标
x2=40+(60*(x(:,2)-min(x(:,2))))./(max(x(:,2))-min(x(:,2)));
x6=40+(60*(x(:,6)-min(x(:,6))))./(max(x(:,6))-min(x(:,6)));
x8=40+(60*(x(:,8)-min(x(:,8))))./(max(x(:,8))-min(x(:,8)));
x10=40+(60*(x(:,10)-min(x(:,10))))./(max(x(:,10))-min(x(:,10)));
x11=40+(60*(x(:,11)-min(x(:,11))))./(max(x(:,11))-min(x(:,11)));
x12=40+(60*(x(:,12)-min(x(:,12))))./(max(x(:,12))-min(x(:,12)));
x13=40+(60*(x(:,13)-min(x(:,13))))./(max(x(:,13))-min(x(:,13)));
% 负向指标
x1=40+(60*(max(x(:,1))-x(:,1)))./(max(x(:,1))-min(x(:,1)));
x3=40+(60*(max(x(:,3))-x(:,3)))./(max(x(:,3))-min(x(:,3)));
x4=40+(60*(max(x(:,4))-x(:,4)))./(max(x(:,4))-min(x(:,4)));
x5=40+(60*(max(x(:,5))-x(:,5)))./(max(x(:,5))-min(x(:,5)));
x7=40+(60*(max(x(:,7))-x(:,7)))./(max(x(:,7))-min(x(:,7)));
x9=40+(60*(max(x(:,9))-x(:,9)))./(max(x(:,9))-min(x(:,9)));
% 汇总标准化数值
x40=[x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13];
% 计算比重矩阵
S=sum(x40);
Y=x40./repmat(S,1,1);
% 计算各指标熵值
K=1/log(m);
for i=1:m
for j=1:n
if Y(i,j)==0
lnY(i,j)=0
else
lnY(i,j)=log(Y(i,j));
end
end
end
E=-K*(sum(Y.*lnY))
% 计算各指标差异系数
D=1-E
% 计算各指标权重
W=D/sum(D);
A=x40*W'
xlswrite('quanzhongjvzhen.xls',W)
xlswrite('shangzhifa.xls',A)
|