MATLAB层次分析法中一致性检验如何创建function[CI CR]这个函数
时间: 2023-11-22 22:56:20 浏览: 88
在MATLAB中,可以使用以下步骤创建一个名为`CI_CR`的函数来执行层次分析法中的一致性检验:
1. 创建一个新的.m文件,用于定义函数。
2. 在.m文件中,使用以下语法定义函数头:
```
function [CI, CR] = CI_CR(A)
```
其中,`A`是一个 n x n 的矩阵,表示层次分析法中的判断矩阵。
3. 在函数中,计算判断矩阵的权重向量`w`,例如使用层次分析法中的特征根法或最大特征向量法。
4. 计算一致性指标`CI`,公式如下:
```
CI = (λmax - n) / (n - 1)
```
其中,`λmax`是矩阵A的最大特征值,`n`是矩阵A的阶数。
5. 计算一致性比率`CR`,公式如下:
```
CR = CI / RI
```
其中,`RI`是一个与矩阵A的阶数对应的一致性随机一致性指标,可以在层次分析法的相关文献中找到。
6. 将计算得到的`CI`和`CR`值作为函数输出。
完整的代码如下:
```
function [CI, CR] = CI_CR(A)
% 计算层次分析法中的一致性指标与一致性比率
% A: 判断矩阵
% 计算判断矩阵的权重向量
w = max_eigenvector(A);
% 计算最大特征值
lambda_max = w' * A * w;
% 计算判断矩阵的阶数
n = size(A, 1);
% 计算一致性指标
CI = (lambda_max - n) / (n - 1);
% 计算一致性随机一致性指标
RI = [0, 0, 0.58, 0.9, 1.12, 1.24, 1.32, 1.41, 1.45, 1.49];
% 计算一致性比率
CR = CI / RI(n);
end
```
在上面的代码中,`max_eigenvector`是另一个函数,用于计算矩阵的最大特征向量,可以根据需要自行实现。
阅读全文