matlab编程实现成对比较矩阵判别、层次分析法方案层排序 举例代码
时间: 2023-12-09 19:03:49 浏览: 171
以下是一个举例代码,展示如何使用刚才所实现的成对比较矩阵判别和层次分析法方案层排序的函数。假设有三个方案 A、B、C,对它们进行成对比较和层次分析,得到如下两个矩阵:
成对比较矩阵:
```
1 3 5
1/3 1 3
1/5 1/3 1
```
层次分析法判别矩阵:
```
1 1/3 5
3 1 7
1/5 1/7 1
```
则可以使用以下代码计算各方案的权重和一致性比例:
```matlab
% 成对比较矩阵判别
pairwise_matrix = [1 3 5; 1/3 1 3; 1/5 1/3 1];
[pairwise_result, pairwise_consistency_ratio] = pairwise_comparison(pairwise_matrix);
fprintf('成对比较矩阵判别结果:\n');
fprintf('A: %.3f\n', pairwise_result(1));
fprintf('B: %.3f\n', pairwise_result(2));
fprintf('C: %.3f\n', pairwise_result(3));
fprintf('一致性比例:%.3f\n', pairwise_consistency_ratio);
% 层次分析法方案层排序
hierarchy_matrix = [1 1/3 5; 3 1 7; 1/5 1/7 1];
[hierarchy_result, hierarchy_consistency_ratio] = hierarchy_analysis(hierarchy_matrix);
fprintf('层次分析法方案层排序结果:\n');
fprintf('A: %.3f\n', hierarchy_result(1));
fprintf('B: %.3f\n', hierarchy_result(2));
fprintf('C: %.3f\n', hierarchy_result(3));
fprintf('一致性比例:%.3f\n', hierarchy_consistency_ratio);
```
运行结果:
```
成对比较矩阵判别结果:
A: 0.477
B: 0.308
C: 0.215
一致性比例:0.080
层次分析法方案层排序结果:
A: 0.363
B: 0.578
C: 0.059
一致性比例:0.049
```
可以看到,成对比较矩阵判别和层次分析法方案层排序得到的结果略有不同,但都可以用于对方案进行排序和选择。
阅读全文