|
这段代码是用于实现AHP(层次分析法)的权重计算。下面是代码的解释: 数据读入:
" Y3 S6 }5 j9 X3 L# x0 }- 将评判矩阵以矩阵形式存储在变量A中。评判矩阵A大小为n x n,其中n为矩阵的维度。9 a4 E! E0 U, {4 q5 q
一致性检验和权向量计算: 8 L0 w/ z6 i4 T* O6 r& ^! c# x
- 使用特征值分解(eig函数)对评判矩阵A进行分解,得到特征向量和特征值。
- 从特征值中提取最大特征值r。
- 计算一致性指标CI,通过计算(r-n)/(n-1)得到。
- 构建一致性比例指标RI(随机一致性指标)的参照表。
- 计算一致性比例CR,通过计算CI除以RI的最后一个值得到。
- 判断一致性检验结果CR是否小于0.10,若小于,则通过,否则不通过。6 b* F7 c# C' I4 w
权向量计算: 5 n% P3 I* u4 X2 K
- 将特征向量的第一列除以该列的和,得到权向量w。
- 将权向量w转置,使其变成行向量。4 K0 i9 D" \/ e# c' c: c2 P
结果输出:
* b1 T' {" q) _+ `; Z8 w" B- 输出一致性指标CI、一致性比例CR、一致性检验结果、特征值r和权向量w的结果。
4 ?2 W* S5 P3 P0 h
该代码假设评判矩阵A已经提前定义好。如果要使用自定义的评判矩阵,请修改变量A的值。/ X8 w6 y! Z" b2 Z1 A6 c9 c% e% l
8 d1 a$ n0 b& P2 J5 o4 ]1 Z# t# `; j# \$ t
( X0 Q, \/ f# v6 i
- q) ]9 v- Z8 u9 Z- W |