matlab层次分析法的组合一致性检验.docx
《matlab层次分析法的组合一致性检验.docx》由会员分享,可在线阅读,更多相关《matlab层次分析法的组合一致性检验.docx(8页珍藏版)》请在冰豆网上搜索。
matlab层次分析法的组合一致性检验
functions(x,y)
%层次分析的初始化
%默认只有两层x为准则数,y为方案数
%A为准则层对目标层生成的比较阵
%B为方案层对准则层生成的比较阵
%EigA为准则层的特征向量
%EigB为方案层的特征向量
x=5;y=3;
EigA=zeros(x,1);
EigB=zeros(y,x);
dim=x;
RI=[000.580.901.121.241.321.411.451.491.51];%RI标准
%准则层对目标层的成对比较阵
A=[11/2433
21755
1/41/711/21/3
1/31/5211
1/31/5311]
tempB=zeros(x+1);
tempB=jianyan(dim,A);
EigA=tempB(1:
x);
ci1=tempB(1+x);
'准则层的特征向量:
'
EigA
'准则层的ci值:
'
ci1
ci=zeros(1,x);
dim=y;
%方案层对准则层各成对比较阵
B{1}=[125
1/212
1/51/21];
B{2}=[11/31/8
311/3
831];
B{3}=[113
113
1/31/31];
B{4}=[134
1/311
1/411];
B{5}=[111/4
111/4
441];
'方案层对准则层各成对比较阵:
'
B{:
}
%判断该比较阵是不是一致阵
fork=1:
x
tempB=zeros(y+1);
tempB=jianyan(dim,B{k});
EigB(:
k)=tempB(1:
y);
ci(k)=tempB(y+1);
['方案层对准则层的第',num2str(k),'因素的特征向量和CI值:
']
EigB(:
k)
ci(k)
end
%下面进行组合一致性检查
RI=[000.580.901.121.241.321.411.451.491.51];
CR=ci1/RI(x)+ci*EigA/RI(y);
'组合一致性比率CR值'
CR
ifCR>0.1
disp('组合一致性不通过,请重新评分')
return
end
%下面根据比较阵的结果进行组合
result=EigB*EigA;
'方案层对目标层的组合权向量为:
'
result
functionf=jianyan(dim,CmpMatrix)
RI=[000.580.901.121.241.321.411.451.491.51];
%判断该比较阵是不是一致阵
[V,D]=eig(CmpMatrix);%求得特征向量和特征值
%求出最大特征值和它所对应的特征向量
tempNum=D(1,1);
pos=1;
forh=1:
dim
ifD(h,h)>tempNum
tempNum=D(h,h);
pos=h;
end
end
eigVector=V(:
pos);
maxeig=D(pos,pos);
CI=(maxeig-dim)/(dim-1);
CR=CI/RI(dim);
ifCR>0.1
disp('准则对目标影响度评分生成的矩阵不是一致阵,请重新评分')
return
end
%归一化
sum=0;
forh=1:
dim
sum=sum+eigVector(h);
end
forh=1:
dim
eigVector(h)=eigVector(h)/sum;
end
f=[eigVector;CI];
结果:
A=
1.00000.50004.0000
2.00001.00007.0000
0.25000.14291.0000
0.33330.20002.0000
0.33330.20003.0000
ans=
准则层的特征向量:
EigA=
0.2636
0.4758
0.0538
0.0981
0.1087
ans=
准则层的ci值:
ci1=
0.0180
ans=
方案层对准则层各成对比较阵:
ans=
1.00002.00005.0000
0.50001.00002.0000
0.20000.50001.00003.00003.0000
5.00005.0000
0.50000.3333
1.00001.0000
1.00001.0000
ans=
1.00000.33330.1250
3.00001.00000.3333
8.00003.00001.0000
ans=
1.00001.00003.0000
1.00001.00003.0000
0.33330.33331.0000
ans=
1.00003.00004.0000
0.33331.00001.0000
0.25001.00001.0000
ans=
1.00001.00000.2500
1.00001.00000.2500
4.00004.00001.0000
ans=
方案层对准则层的第1因素的特征向量和CI值:
ans=
0.5954
0.2764
0.1283
ans=
0.0028
ans=
方案层对准则层的第2因素的特征向量和CI值:
ans=
0.0819
0.2363
0.6817
ans=
7.7081e-004
ans=
方案层对准则层的第3因素的特征向量和CI值:
ans=
0.4286
0.4286
0.1429
ans=
-4.4409e-016
ans=
方案层对准则层的第4因素的特征向量和CI值:
ans=
0.6337
0.1919
0.1744
ans=
0.0046
ans=
方案层对准则层的第5因素的特征向量和CI值:
ans=
0.1667
0.1667
0.6667
ans=
-4.4409e-016
ans=
组合一致性比率CR值
CR=
0.0188
ans=
方案层对目标层的组合权向量为:
result=
0.2993
0.2453
0.4554