资源简介

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


评论

共有 条评论