熵值法算法代码-MATLAB

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

%%算法一(熵值法确定权重算法及Matlab实现-)x=[];%%手动粘贴输入数据[n,m]=size(x);[X,ps]=mapminmax(x',0.1,1.1);X=X';%X为归一化后的数据,n行(品种),m列(指标)%%计算第j个指标下,第i个记录占该指标的比重p(i,j)fori=1:nforj=1:mp(i,j)=X(i,j)/sum(X(:,j));endend%%计算第j个指标的熵值e(j)k=1/log(n);forj=1:me(j)=-k*sum(p(:,j).*log(p(:,j)));endd=ones(1,m)-e;%计算信息熵冗余度w=d./sum(d);%求权值ws=w*p';s=s';%求综合得分%算法二(第二次课件PPT上的方法)x=[];%%手动粘贴输入数据x=x';[n,m]=size(x);[X,ps]=mapminmax(x',0.1,1.1);X=X';%X为归一化后的数据,n行(品种),m列(指标)%%计算第j个指标下,第i个记录占该指标的比重p(i,j)fori=1:nforj=1:mp(i,j)=X(i,j)/sum(X(:,j));endend%%计算第j个指标的熵值e(j)k=1/log(n);forj=1:me(j)=-k*sum(p(:,j).*log(p(:,j)));end%%计算差异系数g(j)g=(ones(1,m)-e)./(m-sum(e));w=g./sum(g);%求权值ws=w*p';s=s';%求综合得分

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功