資源簡介
matlab實現的綜合評價的熵權法,是一種客觀賦權方法,可與其他綜合評價方法結合使用
代碼片段和文件信息
function?shang(x)?
%?clear
%??clc?
%?x=[];?
%m矩陣列表示評價指標
%行n表示待選擇方案
a=min(x);
b=max(x);
[nm]=size(x);
k=1/log(n);
flag=ones(m1);
%標準化指標
A=x;
for?i=1:n
????for?j=1:m
????????if?flag(j)==1
????????????x(ij)=(x(ij)-a(j))/(b(j)-a(j));?%高優指標處理?
????????else
???????????x(ij)=(b(j)-x(ij))/(b(j)-a(j));%低優指標處理
????????end
????end
end
he=sum(x);?%計算標準化矩陣的每一列的和,計算第i個待選方案第j個指標的值所占的概率
for?i=1:n
????for?j=1:m
????????p(ij)=x(ij)/he(j);
????end
end?%指標歸一化?
for?i=1:n
????for?j=1:m
????????if?p(ij)==0
????????????z(ij)=0;
????????else
????????????z(ij)=log(p(ij));
????????end
????end
end
e=zeros(1m);
for?i=1:n?
????for?j=1:m?
????????e(j)=e(j)+p(ij)*z(ij)*(-k);
????end
end
he=sum(e);
for?i=1:m?
???g(i)=(1-e(i))/(m-he);
end
for?i=1:m
?????w(i)=g(i)/sum(g);?%計算權重?
end?
s=zeros(1n);?
for?i=1:n?%計算綜合得分?????????
????for?j=1:m
????????s(i)=s(i)+w(j)*A(ij);?
????end
end
%?t=[1:m];
%?plot(ts‘b*-‘);
s
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1054??2014-05-29?15:31??shang.m
-----------?---------??----------?-----??----
?????????????????1054????????????????????1
評論
共有 條評論