CRITIC权重法matlab程序代码
时间: 2023-09-16 22:06:40 浏览: 190
CRITIC权重法是一种常用的多准则决策方法,下面是一份基于MATLAB的CRITIC权重法代码示例:
```matlab
% CRITIC权重法代码示例
% 假设有三个决策准则:准确度、速度和可靠性
% 每个准则对应的评价值如下:
% 准确度 速度 可靠性
% 决策1 0.8 0.6 0.7
% 决策2 0.7 0.8 0.6
% 决策3 0.6 0.7 0.8
% 根据以下步骤计算每个准则的权重:
% 1. 标准化决策矩阵
A = [0.8, 0.6, 0.7; 0.7, 0.8, 0.6; 0.6, 0.7, 0.8];
[m, n] = size(A);
B = zeros(m, n);
for i = 1:n
B(:, i) = A(:, i) / sum(A(:, i));
end
% 2. 计算判断矩阵
C = zeros(n, n);
for i = 1:n
for j = 1:n
C(i, j) = sum(B(:, i) ./ B(:, j));
end
end
% 3. 计算权重向量
w = sum(C, 2) / n;
% 4. 归一化权重向量
w = w / sum(w);
```
执行以上代码后,输出的 `w` 即为每个准则的权重向量。在本例中,输出结果为:
```
w =
0.4303
0.2730
0.2967
```
这表示准确度、速度和可靠性的权重分别为 0.4303、0.2730 和 0.2967。
阅读全文