您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 熵权法(matlab实现)
clearclcx=[];a=min(x);b=max(x);[n,m]=size(x);k=1/log(n);fori=1:nforj=1:mx(i,j)=(x(i,j)-a(j))/(b(j)-a(j))*100;%高优指标处理endendfori=1:nforj=1:mx(i,j)=(b(j)-x(i,j))/(b(j)-a(j))*100;%低优指标处理endendhe=sum(x);fori=1:nforj=1:mp(i,j)=x(i,j)/he(j);endend%指标归一化fori=1:nforj=1:mifp(i,j)==0z(i,j)=0;elsez(i,j)=log(p(i,j));endendende=zeros(1,m);fori=1:1nforj=1:me(j)=e(j)+p(i,j)*z(i,j)*(-k);endendhe=sum(e);fori=1:mg(i)=1-e(i)/(m-he);endfori=1:mw(i)=g(i)/sum(g);%计算权重ends=zeros(1,n);fori=1:n%计算综合得分forj=1:ms(i)=s(i)+w(j)*p(i,j);endendt=;plot(t,s,'b*-');
本文标题:熵权法(matlab实现)
链接地址:https://www.777doc.com/doc-1897717 .html