|
这段代码是用于实现AHP(层次分析法)的权重计算。下面是代码的解释: 数据读入:
- {- G7 q$ f) q, s m [; f- 将评判矩阵以矩阵形式存储在变量A中。评判矩阵A大小为n x n,其中n为矩阵的维度。
+ f" m7 x0 @( t& T( w6 }. O+ ~* N
一致性检验和权向量计算:
* n8 x" v: o6 p+ O1 C# O( F- 使用特征值分解(eig函数)对评判矩阵A进行分解,得到特征向量和特征值。
- 从特征值中提取最大特征值r。
- 计算一致性指标CI,通过计算(r-n)/(n-1)得到。
- 构建一致性比例指标RI(随机一致性指标)的参照表。
- 计算一致性比例CR,通过计算CI除以RI的最后一个值得到。
- 判断一致性检验结果CR是否小于0.10,若小于,则通过,否则不通过。1 R/ J) \- A z/ D! s ]
权向量计算: ( t% z0 M- {$ Z( C
- 将特征向量的第一列除以该列的和,得到权向量w。
- 将权向量w转置,使其变成行向量。* ^3 o/ Q/ R$ Q Z! j. C }; _
结果输出:
s7 X7 L8 W- v# f) ~- {- 输出一致性指标CI、一致性比例CR、一致性检验结果、特征值r和权向量w的结果。
, v4 f! K' S, `9 S5 x
该代码假设评判矩阵A已经提前定义好。如果要使用自定义的评判矩阵,请修改变量A的值。
. d. s3 t: w3 n% U- x$ }% y6 j4 r0 ^6 V$ E. i! B0 X
" r6 `& g: U" Z2 A: I2 `- Z G% }" P. J D+ |6 O$ X
) Z0 t. [9 A+ K |