BWM(最优最差法)matlab实现
时间: 2023-11-02 18:00:32 浏览: 1023
BWM(Best Worst Method)是一种用于决策分析的方法,用于确定一组选项中最佳和最差的选项。这个方法可以用 MATLAB 来实现,具体步骤如下:
1. 定义决策矩阵(Decision Matrix)D,其中包含了每个选项的不同指标和它们的权重。将每个指标的值按照重要性赋予权重,然后将它们放在决策矩阵的列上,每个选项放在行上。
2. 对决策矩阵进行标准化,将每个指标的值都除以该指标下所有选项的总和。这样可以使得所有的指标都在 [0,1] 范围内。
3. 计算出每个选项的最佳和最差的得分。最佳得分是在每列中具有最大值的选项的得分,而最差得分是在每列中具有最小值的选项的得分。
4. 计算每个选项的得分,得分的计算公式为最佳得分减去该选项的得分。
5. 对得分进行归一化,将每个得分都除以所有得分的和。
下面是 MATLAB 的代码实现:
```matlab
% 定义决策矩阵
D = [1 2 3; 4 5 6; 7 8 9];
% 标准化决策矩阵
sumD = sum(D);
sumD(sumD==0) = 1;
D_norm = D./sumD;
% 计算最佳和最差得分
best = max(D_norm);
worst = min(D_norm);
% 计算得分
score = best - D_norm;
% 归一化得分
sumScore = sum(score);
sumScore(sumScore==0) = 1;
normalizedScore = score./sumScore;
% 打印结果
disp('决策矩阵:');
disp(D);
disp('标准化决策矩阵:');
disp(D_norm);
disp('最佳得分:');
disp(best);
disp('最差得分:');
disp(worst);
disp('得分:');
disp(score);
disp('归一化得分:');
disp(normalizedScore);
```
在上面的代码中,我们首先定义了一个 3x3 的决策矩阵 D,然后对它进行了标准化,计算出了每个选项的最佳和最差得分,然后计算了每个选项的得分,并对得分进行了归一化。最后,我们打印出了所有的结果。
阅读全文