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用MATLAB定义一个函数确调用不了
时间: 2023-11-27 07:50:40 浏览: 127
你可能需要提供更多的信息,例如出现了什么错误或调用函数的方式等等。以下是一个示例用法:
1. 将该函数保存为名为 CI_CR.m 的文件。
2. 在 MATLAB 中调用该函数并传递一个判断矩阵作为参数,例如:
```
A = [1 2 3; 1/2 1 2; 1/3 1/2 1];
[CI, CR] = CI_CR(A);
```
此时,`CI` 变量将包含一致性指标,`CR` 变量将包含一致性比率。
相关问题
MATLAB层次分析法中一致性检验如何创建function[CI CR]这个函数
在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`是另一个函数,用于计算矩阵的最大特征向量,可以根据需要自行实现。
阅读全文