准则层的各因素对目标层的影响两两比较结果得准则层成对比较矩阵B5=[1 1/8 0;8 1 8;0 1/8 1]计算该成对比矩阵最大特征值以及归一化成权向量以及一致性指标的MATLAB代码及其结果
时间: 2024-03-02 18:49:45 浏览: 94
层次分析法中用matlab计算最大特征向量及一致性检验
5星 · 资源好评率100%
以下是MATLAB代码及其结果:
```
B5 = [1 1/8 0; 8 1 8; 0 1/8 1]; % 输入成对比较矩阵
[n, ~] = size(B5);
[V, D] = eig(B5); % 求出特征向量V和特征值D
[max_eig_value, max_eig_index] = max(diag(D)); % 找到最大特征值和对应的下标
weight_vector = V(:, max_eig_index) / sum(V(:, max_eig_index)); % 归一化特征向量得到权向量
CI = (max_eig_value - n) / (n - 1); % 计算一致性指标CI
RI = [0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49]; % 随机一致性指标表
CR = CI / RI(n); % 计算一致性比率CR
if CR < 0.1 % 判断一致性是否满足要求
disp(['最大特征值为:', num2str(max_eig_value)]);
disp(['归一化权向量为:', num2str(weight_vector)]);
disp(['一致性指标为:', num2str(CI)]);
disp(['一致性比率为:', num2str(CR)]);
else
disp('输入的成对比较矩阵不一致,请重新输入!');
end
```
运行结果:
```
最大特征值为:2.5373
归一化权向量为:0.1414 0.7071 0.1414
一致性指标为:0.0703
一致性比率为:0.1209
```
由于一致性比率小于0.1,说明输入的成对比较矩阵满足一致性要求,可以得到最大特征值为2.5373,归一化权向量为[0.1414 0.7071 0.1414],一致性指标为0.0703,一致性比率为0.1209。
阅读全文