matlab代码实现熵权法求权重
时间: 2024-02-03 10:18:27 浏览: 94
熵权法.rar_求权重_熵_熵权法_熵权法代码
以下是MATLAB代码实现熵权法求权重的示例:
假设有3个指标,分别是A、B、C,对应的数据存储在一个3x3的矩阵data中,代码如下:
```
data = [1, 2, 3; 4, 5, 6; 7, 8, 9];
```
首先计算每个指标的归一化矩阵,代码如下:
```
[n,m] = size(data);
P = zeros(n,m);
for i = 1:m
P(:,i) = data(:,i)/sum(data(:,i));
end
```
接下来计算信息熵,代码如下:
```
E = -sum(P.*log(P))/log(n);
```
然后计算权重,代码如下:
```
w = (1-E)/(m-sum(E));
```
最终得到的权重存储在一个1x3的矩阵w中,其中w(1)表示A的权重,w(2)表示B的权重,w(3)表示C的权重。
阅读全文