%清空内存变量与工作空间,以防干扰
clear;
clc;
%从 Excel 文件中读取参与评价的方案的原始数据
%将原始数据按照规定格式输入到 data_entropy.xls 中
%将数据文件 data_entropy.xls 存放到 MATLAB 的当前工作目录下
disp('请在弹出的 Excel 文件 data_entropy.xls 中,选择评价指标的指示值')
%L 存放各指标的指示值
L=xlsread('data_entropy.xls',-1);
disp('请在弹出的 Excel 文件 data_entropy.xls 中,选择各评价方案的指标值')
%X 存放各评价方案的指标数据
X=xlsread('data_entropy.xls',-1);
%计算参与评价的方案数和指标数
%m 表示评价方案个数
%n 表示指标个数
[m,n]=size(X);
%标准化矩阵 X 后得到 R
R=zeros(m,n);
for i=1:m
for j=1:n
%根据指标指示值判断是越大越优型指标还是越小越优型指标
if L(j)==1
%越大越优型指标的标准化
R(i,j)=(X(i,j)-min(X(:,j)))/(max(X(:,j))-min(X(:,j)));
else
%越小越优型指标的标准化
R(i,j)=(max(X(:,j))-X(i,j))/(max(X(:,j))-min(X(:,j)));
end
end
end
%给第 j 项指标对不同评价对象求和,得 sumR
sumR=sum(R);
%初始化特征比重矩阵 p
p=zeros(m,n);
%计算第 i 个评价对象第 j 项指标的特征比重 p