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 16:50:40 浏览: 43
你可能需要提供更多的信息,例如出现了什么错误或调用函数的方式等等。以下是一个示例用法:
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`是另一个函数,用于计算矩阵的最大特征向量,可以根据需要自行实现。
function [GD]=convergence(obj,ref_point)%
这是一个函数,用于计算多目标优化算法的收敛性。其输入参数是obj和ref_point,其中obj是一个n行m列的矩阵,表示n个解的目标函数值,m为目标函数的个数;ref_point是一个1行m列的矩阵,表示参考点的目标函数值。
函数输出为GD,表示当前解集到参考点的距离的平均值。
具体实现如下:
```matlab
function [GD]=convergence(obj,ref_point)
% obj: n*m matrix, n is the number of solutions, and m is the number of objectives
% ref_point: 1*m matrix, the reference point for calculating GD
[n,m]=size(obj);
d=zeros(n,1);
for i=1:n
for j=1:m
d(i)=d(i)+(obj(i,j)-ref_point(j))^2;
end
d(i)=sqrt(d(i));
end
GD=mean(d);
end
```
该函数首先计算每个解到参考点的距离,然后求平均值作为GD的值返回。通过比较GD的大小,可以评估多目标优化算法的收敛性。如果GD值越小,则说明算法收敛得越好。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)