数学模型课本里汽车采购中决策矩阵的熵、区分度和权重的计算matlab代码
时间: 2024-03-11 14:49:28 浏览: 16
很抱歉,我并不是一个能够执行 Matlab 代码的程序,但是我可以提供一个参考的流程来计算决策矩阵的熵、区分度和权重。
假设我们有一个 $n \times m$ 的决策矩阵 $M$,其中 $n$ 表示决策项目的数量,$m$ 表示决策因素的数量。我们需要计算出每个决策因素的权重,以下是计算的流程:
1. 将矩阵 $M$ 进行归一化处理,得到 $n \times m$ 的归一化矩阵 $N$,其中 $N_{i,j} = \frac{M_{i,j}}{\sum_{i=1}^n M_{i,j}}$。
2. 计算熵值 $E_j$,$E_j = -\sum_{i=1}^n N_{i,j} \log_2 N_{i,j}$,表示决策因素 $j$ 对决策的影响力。
3. 计算每个决策因素的区分度 $D_j$,$D_j = 1 - E_j$,表示决策因素 $j$ 的区分度。
4. 计算每个决策因素的权重 $w_j$,$w_j = \frac{D_j}{\sum_{j=1}^m D_j}$。
以上计算可以用 Matlab 实现,以下是一个示例代码:
```matlab
% 假设我们有一个 5x4 的决策矩阵 M
M = [3, 4, 2, 1; 2, 3, 4, 1; 1, 2, 3, 4; 4, 3, 2, 1; 1, 2, 3, 4];
% 归一化矩阵 N
N = M ./ sum(M);
% 计算熵值 E 和区分度 D
E = -sum(N .* log2(N));
D = 1 - E;
% 计算权重 w
w = D ./ sum(D);
```
希望这个流程能够帮助你计算决策矩阵的熵、区分度和权重。