load acm.txt;
x=acm;
[n,m]=size(x); %获得行列信息
xmin=min(x);
xmax=max(x);
dis=xmax-xmin;
for i=1:m
x(:,i)=(x(:,i)-xmin(i))/dis(i);
end
%归一化处理
%熵权法
p=[];
E=[];
for k=1:m
s=sum(x(:,k));
p=x(:,k)/s;
s=0.0;
for i=1:n
if(p(i)>0)
s=s+p(i)*log(p(i));
end
E(k)=-s/log(n);
end
end
s=sum(E);
W1=(1-E)/(m-s);
熵权法之Matlab源代码(模板)
最新推荐文章于 2022-12-27 21:07:44 发布