4 \* t0 T. l6 ~ C7 V2 T& `7 n+ ]
6 F m0 [/ ]5 W9 T
根据以上准则对因素进行两两比较,得出正互反矩阵,即判断矩阵; J% q& n2 Y+ \4 n
t d& U8 j# K. ]# H
(2)计算因素权重 & n8 _1 c* y8 s* Z4 @' u- W8 F' |5 D t5 w
; V, x- W; ^" W" b t/ \9 J" b" e; s! e, s- R, W* e
此处A即判断矩阵,W即为因素的权重,将其归一化即可。; q6 f: O6 Y8 h) F6 K# u0 l: l# D* w
+ L) l$ V9 p% Y- H, F# T (3)判断计算的权重是否可用 , f5 X8 J8 n* c8 J9 \+ y8 z, {. W0 Z/ M; E8 J) A) Q' e
即一致性检验 ' V2 q1 ], E/ w u , f; L' B" u& }/ S; S. Q CI需自己计算 RI需要查询( h$ v# d0 x) A. `
* o2 V/ k# T( k ]; o; J
当 CR<0.1 时,认为判断矩阵的一致性是可以接受的,否则应对判断矩阵作适当修正。 ( ?2 t, p2 I; {6 N+ @6 i
$ b) l' n6 e" g% s : Y( A" T: G5 Y& ?) \4 i# H6 n3 `/ h! }
3.计算第三层 方案的权重 4 {5 ]( D/ o. o5 b! o; C/ M% `8 k* ]: h, N& I0 x
因为方案的权重在不同因素下结果不同,所以n个因素需要n个判断矩阵。 s9 Y1 t' u2 n9 V& F- h+ j5 @' E: \" a5 @( K4 R2 j
计算方法和第二层计算方法相同7 }" {& h9 w$ r$ X
4 H6 v/ s3 L' {( i5 n
最后会算出来n个W向量7 z8 P: F% v4 A- M- x5 u4 L
- u3 ^3 L2 ? P! p& S
将这n个W向量相加,再归一化即可获得最后的结果。 / P+ o, m; K% e4 a2 D3 {) m , F2 e6 i+ K. \* f附代码 / n2 {7 M/ w' | j) e6 u: ~" xfunction Q=AHP(A) 6 B2 G+ K4 @ `& f0 ^( f' u[m,n]=size(A);; m, u7 _0 q2 |0 y: ?# L% k
RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51]; / g% M* V6 _- O5 YR=rank(A); %求判断矩阵的秩. _+ ~ M9 j6 r' A& a4 z) I4 u
[V,D]=eig(A); %求判断矩阵的特征值和特征向量,V特征向量,D特征值(对角阵); . i. y+ i' ^& F% c0 o$ N/ Ntz=max(D);8 [! D( W; g, N/ F7 l
B=max(tz); %最大特征值 5 B0 D: F$ z0 V( f, u[row, col]=find(D==B); %最大特征值所在位置 * H5 Q% I) G- I2 j$ M: z* y' ?C=V(:,col); %对应特征向量 $ r9 l( a- x& Q! J' q2 lCI=(B-n)/(n-1); %计算一致性检验指标CI, u7 J0 I' o: R* ^: Z
CR=CI/RI(1,n); / l* m( i- c. c- Y( o
if CR<0.10" e8 ?1 k( E0 _4 M1 }
disp('CI=');disp(CI); ' ^2 A& Z! H3 ?& J disp('CR=');disp(CR);" {9 D- D+ R3 t
disp('对比矩阵A通过一致性检验,各向量权重向量Q为:'); " A `* @0 P: z Q=zeros(n,1); 0 a6 a; u3 @+ N3 x3 o7 L# z& I1 i for i=1:n) G" m: W/ g$ K' H( d; Y1 @* F
Q(i,1)=C(i,1)/sum(C(:,1)); %特征向量标准化 3 f; b: r* K% T" m0 D' [% {$ B/ {, W end$ v3 @7 o" Y8 v, D, u0 `" y
else+ i- J4 }; A/ t! v' K
disp('对比矩阵A未通过一致性检验,需对对比矩阵A重新构造');7 B- d$ Y6 y9 U) J* p* C }
3 C0 x& l9 {" s8 L' N4 m8 M& v$ ^
4 y& m- [" f5 C: m1 S: k: q( ]. g ! X7 Q- N! Y) J V; g# a/ U* G ' c% J& L# V2 o