层次分析法代码
时间: 2023-07-02 18:11:18 浏览: 158
层次分析法代码.rar
以下是使用Python实现层次分析法的示例代码:
```python
import numpy as np
# 定义判断矩阵
A = np.array([[1, 3, 5],
[1/3, 1, 2],
[1/5, 1/2, 1]])
# 计算每列的权重
w = np.mean(A, axis=0) / np.sum(np.mean(A, axis=0))
# 计算一致性指标
n = A.shape[0]
lam_max = np.max(np.linalg.eigvals(A))
CI = (lam_max - n) / (n - 1)
RI = np.array([0, 0, 0.58, 0.90, 1.12, 1.24, 1.32, 1.41, 1.45])
CR = CI / RI[n-1]
print("权重:", w)
print("一致性指标:", CR)
```
这里使用了numpy库来进行矩阵计算,主要分为以下几步:
1. 定义判断矩阵A;
2. 计算每列的权重w,即将A矩阵每列的平均值除以所有平均值的和;
3. 利用numpy库计算A矩阵的最大特征值lam_max;
4. 计算一致性指标CI和随机一致性指标RI;
5. 计算一致性比例CR,判断一致性。
需要注意的是,这里的一致性判断指标RI是根据层次分析法的常用标准值,可以根据实际情况进行调整。
阅读全文