楼主: 一切ok
709 2

[MATLAB] 熵值法matlab代码(每一步都有解释) [推广有奖]

  • 0关注
  • 0粉丝

高中生

45%

还不是VIP/贵宾

-

威望
0
论坛币
996 个
通用积分
0.3619
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
53 点
帖子
3
精华
0
在线时间
61 小时
注册时间
2022-12-7
最后登录
2025-5-11

楼主
一切ok 学生认证  发表于 2023-6-6 14:20:42 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
把数据复制到x0矩阵中就可以了,其余让代码自己跑
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:matlab代码 MATLAB matla atlab Mat

沙发
Asufa 发表于 2023-6-6 14:57:13 来自手机
一切ok 发表于 2023-6-6 14:20
把数据复制到x0矩阵中就可以了,其余让代码自己跑
可有文件否,手机端看不到

藤椅
一切ok 学生认证  发表于 2023-6-27 09:38:40
x=[]
x=x0;
[m,n]=size(x)
% 正向指标
x2=40+(60*(x(:,2)-min(x(:,2))))./(max(x(:,2))-min(x(:,2)));
x6=40+(60*(x(:,6)-min(x(:,6))))./(max(x(:,6))-min(x(:,6)));
x8=40+(60*(x(:,8)-min(x(:,8))))./(max(x(:,8))-min(x(:,8)));
x10=40+(60*(x(:,10)-min(x(:,10))))./(max(x(:,10))-min(x(:,10)));
x11=40+(60*(x(:,11)-min(x(:,11))))./(max(x(:,11))-min(x(:,11)));
x12=40+(60*(x(:,12)-min(x(:,12))))./(max(x(:,12))-min(x(:,12)));
x13=40+(60*(x(:,13)-min(x(:,13))))./(max(x(:,13))-min(x(:,13)));
% 负向指标
x1=40+(60*(max(x(:,1))-x(:,1)))./(max(x(:,1))-min(x(:,1)));
x3=40+(60*(max(x(:,3))-x(:,3)))./(max(x(:,3))-min(x(:,3)));
x4=40+(60*(max(x(:,4))-x(:,4)))./(max(x(:,4))-min(x(:,4)));
x5=40+(60*(max(x(:,5))-x(:,5)))./(max(x(:,5))-min(x(:,5)));
x7=40+(60*(max(x(:,7))-x(:,7)))./(max(x(:,7))-min(x(:,7)));
x9=40+(60*(max(x(:,9))-x(:,9)))./(max(x(:,9))-min(x(:,9)));
% 汇总标准化数值
x40=[x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13];
% 计算比重矩阵
S=sum(x40);
Y=x40./repmat(S,1,1);
% 计算各指标熵值
K=1/log(m);
for i=1:m
    for j=1:n
        if Y(i,j)==0
            lnY(i,j)=0
        else
      lnY(i,j)=log(Y(i,j));
        end
    end
end
E=-K*(sum(Y.*lnY))
% 计算各指标差异系数
D=1-E
% 计算各指标权重
W=D/sum(D);
A=x40*W'
xlswrite('quanzhongjvzhen.xls',W)
xlswrite('shangzhifa.xls',A)

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-8 16:47