层次分析matlab例题,层次分析法例题
时间: 2023-08-23 17:37:17 浏览: 108
层次分析法例题.pdf
以下是一个使用层次分析法(AHP)的 Matlab 例子,假设我们有三个决策方案 A、B 和 C,我们需要确定哪个决策方案最优。
首先,我们需要构建一个判断矩阵,用于比较不同因素的重要性。这里我们选择两个因素:成本和可行性。我们将成本和可行性分别打分为 1 到 9,其中 1 表示相等,9 表示一个因素比另一个更重要。假设我们认为成本是可行性的两倍重要,我们可以设置下面的判断矩阵:
```
1 2 1/3
1/2 1 1/5
3 5 1
```
接下来,我们需要计算判断矩阵的一些指标,例如特征向量和一致性指标。这些指标可以用 Matlab 的 AHP 工具箱计算。以下是一个示例代码:
```
% 构建判断矩阵
A = [1 2 1/3;
1/2 1 1/5;
3 5 1];
% 计算特征向量和一致性指标
[V, eig_val, CI, RI] = ahp(A);
CR = CI / RI;
```
特征向量 `V` 是一个列向量,表示每个因素的权重。一致性指标 `CI` 和随机一致性指标 `RI` 可以用于计算一致性比率 `CR`,以评估矩阵的一致性。如果 `CR` 值小于 0.1,则矩阵可以接受。
最后,我们可以用特征向量来计算每个决策方案的总得分。假设我们已经对每个决策方案进行了成本和可行性的评估,并将结果分别存储在向量 `c` 和 `f` 中,我们可以计算总得分如下:
```
score = V' * [c; f];
```
其中 `score` 是一个列向量,表示每个决策方案的得分。我们可以比较这些得分来确定最优决策方案。
阅读全文