【源代码】指标权重赋权

《武器电子系统质量评估》第33页和39页例子

%《武器电子系统质量评估》第33页和39页例子
clear
clc
P=[0.5 0.6 0.7;
   0.4 0.5 0.6;
   0.3 0.4 0.5;];
tau1=0.8;
tau2=0.5;
tau3=0.1;

fea1=jisuan(P,tau1)
fea2=jisuan(P,tau2)
fea3=jisuan(P,tau3)

w1=quanzhong(P,fea1)
w2=quanzhong(P,fea2)
w3=quanzhong(P,fea3)


W=[0.041 0.158 0.087 0.108 0.114 0.185 0.180 0.043;
   0.029 0.105 0.075 0.123 0.135 0.198 0.226 0.028;
   0.046 0.113 0.089 0.141 0.194 0.187 0.211 0.019;];
f12=1-1/2*sum(abs(W(1,:)-W(2,:)));
f13=1-1/2*sum(abs(W(1,:)-W(3,:)));
f23=1-1/2*sum(abs(W(2,:)-W(3,:)));

F=[1 f12 f13;
   f12 1 f23;
   f13 f23 1];

F=[1 0.907 0.887;
   0.907 1 0.889;
   0.887 0.889 1;];
sumF2=sum(F(2,:));
a0_jia=F(2,:)/sumF2
sumF3=sum(F(3,:));
a0_jian=F(3,:)/sumF3
W0_jia=

function fea=jisuan(P,tau)
%默认P矩阵第一列为最不重要指标,重要度依次增加
[n,m]=size(P);
sum1=sum(P(:,1));%最不重要指标的行和
sum2=sum(P(:,m));%最重要指标的行和
fea=tau^(m/(sum1-sum2));



function w=quanzhong(P,fea)
%默认P矩阵第一列为最不重要指标,重要度依次增加
[n,m]=size(P);
sum1=0;
for i=1:n
    fenmu=fea^(sum(P(i,:))/n);
    sum1=sum1+fenmu;
end
for i=1:n
    fenmu=fea^(sum(P(i,:))/n);
    w(i)=fenmu/sum1;
end





你可能感兴趣的:(编程,matlab)