topsis熵权法 matlab
时间: 2023-09-24 12:07:37 浏览: 54
以下是MATLAB中进行TOPSIS熵权法的示例代码:
% 计算TOPSIS熵权法
% 输入数据
X = [3 6 9; 2 5 8; 1 4 7]; % 三个决策,三个指标
w = [0.5 0.3 0.2]; % 每个指标的权重
% 标准化矩阵
[m, n] = size(X);
X_norm = zeros(m, n);
for i = 1:n
X_norm(:,i) = X(:,i) ./ sqrt(sum(X(:,i).^2));
end
% 计算加权标准化矩阵
W_norm = repmat(w, m, 1);
X_weighted = W_norm .* X_norm;
% 计算正理想解和负理想解
Z = max(X_weighted);
F = min(X_weighted);
% 计算距离
S_plus = sqrt(sum((X_weighted - repmat(Z, m, 1)).^2, 2));
S_minus = sqrt(sum((X_weighted - repmat(F, m, 1)).^2, 2));
% 计算相对接近度
C = S_minus ./ (S_plus + S_minus);
% 计算熵值权重
E = -sum(X_norm .* log2(X_norm), 1) / log2(m);
w_entropy = (1 - E) / sum(1 - E);
% 计算最终权重
w_final = w_entropy .* w;
% 输出结果
disp("指标权重:");
disp(w);
disp("加权标准化矩阵:");
disp(X_weighted);
disp("正理想解:");
disp(Z);
disp("负理想解:");
disp(F);
disp("距离:");
disp(S_plus);
disp(S_minus);
disp("相对接近度:");
disp(C);
disp("熵值权重:");
disp(w_entropy);
disp("最终权重:");
disp(w_final);
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![m](https://img-home.csdnimg.cn/images/20210720083646.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)